LINUX.ORG.RU

Мои проги на PureBasic

 


4

5

Если у кого есть желание ознакомится можете скачать архив прог (53Мб), в комплекте общая справка по прогам в CHM со скриншотами. Можно посмотреть её в онлайн

В комплекте исходники и можно их скомпилировать. Для Linux собраны 3 варианта пакетов deb (Mint-x64 и MX-x86), rpm (Fedora), zst (Arch), и исполняемые для Raspberry-x32, и есть отдельно архив для Андроида Можете посмотреть видео о PureBasic на моём ютуб канале


Ответ на: комментарий от AZJIO

… то есть по сути все функции писать надо самому. Допустим в PureBasic 3000 кроссплатформенных функций, вот их все надо писать самому, чтобы начать писать прогу.

Как-то разработал паучок для MSDN, который проанализировал всеразделы и для каждого из них сгенерировал хедеры и исходники
обвёрток (в т.ч. и для интерфейсов).
За пару недель управился (но не всю жизнь).
Здесь главное не ленится и не ждать от кого-то халявы.

anonymous
()
Ответ на: комментарий от Vsevolod-linuxoid

А mandb обновляешь после такой ручной установки?

Пакет при обновлении удаляет старое и ставит новое. Понятие «впихиваю» означает, что при создании пакета в проект пакета вставляется справка по нужным путям, но mandb тут не причём, я вставляю html-файлы, а из проги вызываю их, точнее главный - index.html, он откроется в браузере, а из него ссылки в дополнительные html, но на деле таких прог мало 2 или 3, есть одна просто с текстовым документом, остальные без справки понятны.

AZJIO
() автор топика
Ответ на: комментарий от anonymous

Здесь главное не ленится и не ждать от кого-то халявы.

То есть современное распределение труда уже не в тренде? Нужно чтобы всё сделал каждый сам? Чтобы быть минимально производительным?

AZJIO
() автор топика
Ответ на: комментарий от AZJIO

А что мало языков где авторы требуют оплаты? Полно

Так все вымерли, считай. Осталось пара динозавров, которые либо прилагаются к закрытой платформе (типа k для kdb+), либо держатся за крупных клиентов, которым проще оплачивать конскую лицензию за Allegro CL, чем переписывать своё legacy.

Допустим в PureBasic 3000 кроссплатформенных функций

Допустим стандартная библиотека Java смотрит с умилением, приговаривая: „утютю, мой маленький, утютю, мой холёсенький“.

Автор, вы имеете полное и безусловное право любить то, что любите и использовать то, что работает в вашем случае. Но мой вам совет — попытайтесь расширить кругозор.

ugoday ★★★★★
()
Ответ на: комментарий от AZJIO

То есть современное распределение труда уже не в тренде?

Вот скажите, то что пришлось сделать сделал ли кто-нибудь и сделает ли?

А что означает «современное распределение труда уже не в тренде?» и какая организация управляет этим «разделением труда»?

anonymous
()
Ответ на: комментарий от ugoday

Java

лишь требует устанавливать Java машину. Не компилируемый.

А вообще я хотел бы изучить Java ради прог для телефона, но понимая, что это займёт несколько лет, пыл немного остужается. Да и нет людей с которыми бы я сейчас ринулся в соревнование, а грызть гранит в одиночку скучно. В общем сейчас для меня это «плыть против течения».

AZJIO
() автор топика
Ответ на: комментарий от AZJIO

Да и нет людей с которыми бы я сейчас ринулся в соревнование, а грызть гранит в одиночку скучно. В общем сейчас для меня это «плыть против течения».

Старая и любимая многими песня …

anonymous
()
Ответ на: комментарий от AZJIO

Просто сам язык, Basic, непригоден для написания чего-то большого, и поддерживаемого долгое время. Код на любом языке рано или поздно превращается в лапшу, а на Basic он становится лапшой с самого начала.

Неспроста идёт эволюция языков и подходов, поэтому я думал, что Basic остался где-то там, далеко в прошлом веке, и меня удивило, что его кто-то ещё использует.

Что касается кросс-платформеной гуйни, то она вроде существует, хотя у меня опыт очень ограниченный.

Chiffchaff
()
Ответ на: комментарий от AZJIO

Ну и как я ожидал, ни по первой, ни по второй ссылке утверждений «либо пиши бесплатно, либо покупай коммерческую версию», разумеется, нет (к автору второй статьи есть небольшая претензия, но она про другое).

На самом деле лицензий три:

  1. коммерческая;
  2. GPL;
  3. LGPL (под ней распространяются не все модули, но то, чего под ней нет, никакой GTK вообще не снилось).

Про коммерческую распинаться не буду. Про GPL скажу, что она вообще-то тоже не про платность-бесплатность, а про распространение исходников. Но поскольку зарабатывать на GPL-софте мало у кого получается, вдаваться в это не буду.

Про LGPL. Основные моменты:

  1. если тебе надо патчить саму Qt (не свой софт), патчи тоже должны быть под LGPL.
  2. твой проект может быть хоть закрытым, хоть открытым, хоть платным, хоть бесплатным, но необходимо дать возможность пользователю твоего продукта линковать его с другой сборкой Qt совместимой версии. Способов выполнить это требование несколько, самый простой (но не единственный) – линковать Qt динамически (.so под линуксом, .dylib под макосью, .dll под виндой).

Многие так пишут и зарабатывают на этом деньги, ни копейки не платя кутешникам (хорошо это или плохо, вопрос отдельный). Поэтому я и написал, что процитированное утверждение – чушь. И уж точно по сравнению с обсуждавшимся тут ограничением бесплатной версии PureBasic это мелочь (кстати, Вы так и не написали, правда это про PureBasic или нет, я не в курсе, если что).

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 3)
Ответ на: комментарий от Chiffchaff

Код на любом языке рано или поздно превращается в лапшу, а на Basic он становится лапшой с самого начала.

Это безусловно справедливо для классического бейсика с номерами строк, GOTO и GOSUB. Но в теме обсуждается вроде бы не он, а язык со вполне зрелыми конструкциями структурного программирования, которые тут @wandrien показывал выше.

На классическом же бейсике я когда-то написал прогу на 2000 строк, GOSUB использовался очень активно. Она даже правильно работала, но именно тогда я сделал вывод «пора валить». :)

hobbit ★★★★★
()
Ответ на: комментарий от Chiffchaff

Просто сам язык, Basic, непригоден для написания чего-то большого

когда перерастёшь автора, конечно тебе захочется использовать то, на чём автор написал своё детище и пропадёт смысл использовать прокладку. Но сам автор не пишет проги, а только своё детище, в итоге можно увязнуть пиша своё детище и готовить платформу для новичков. 3D игра для тебя большое? Вот пример

AZJIO
() автор топика
Ответ на: комментарий от AZJIO

зависит от автора. Напишешь лапшу, будет тебе лапша.

Да, но именно поэтому десятилетия идут нескончаемые поиски и борьба. Императивный подход, функциональный подход, объектно-ориентированный. Люди придумывают новые языки, линтеры для них, системы типов, которые должны делать код проще, понятнее, и не давать делать ошибки.

И тут бам: blast from the past - а давайте писать снова, как 60 лет назад.

Удивляет, вот и всё.

Chiffchaff
()
Ответ на: комментарий от hobbit

но необходимо дать возможность пользователю твоего продукта линковать его с другой сборкой Qt совместимой версии

не совсем понял, зачем пользователю проги линковать? Дать людям возможность доступа к твоим функциям в библиотеке/модуле?

AZJIO
() автор топика
Ответ на: комментарий от Chiffchaff

объектно-ориентированный

Существуют разные уровни знания, градация от гениев, средних и не очень, их ещё можно градировать по опыту 5 лет, 20 лет, 40 лет. Вот заходят такие новички представляющие из себя полный ноль и пишут, что у вас нет ООП. По факту, когда ему дадут ООП, то он просто не дорастёт до него. А обслуживать сложный синтаксис ему придётся. Также я помню вбросы «у вас нет многопоточности», но вот когда я перешёл на язык поддерживающий многопоточность, то понял (хотя частично и знал), что писать потоками надо ещё их изучать контроль над ними и создавать прогу на порядок сложнее, учитывающую работу потоков. Опять приходим к тому, что новичок-ноль просто троллит, вместо того, чтобы программировать, там же думать надо, а троллить то легче, сделать вброс и пусть себе волосы на попе рвут. У меня в исходникам может одна прога имеет поток и то примитивный.

AZJIO
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Ты забываешь, что Linux в первую очередь серверная ОС – на ней по умолчанию нет просмотрщика html, только man и соединение по SSH.

Мы не в 80х и даже не в 90х живём, пора бы умолчания немного изменить.

Ygor ★★★★★
()
Ответ на: комментарий от ugoday

Бейсик был придуман в 1964 году. Понятно, что это не тот бейсик, на котором пишет автор.

Но мне в жизни несколько раз приходилось разбираться с кодом, написанным на различных диалектах бейсика. Каждый раз после этого, хотелось вырвать себе глаза и прыгнуть со скалы. Если что, в код автора не заглядывал.

Ну, и возможно, тут роляло то, что писали и пишут на Бейсике, в основном, те, кто лучшего не знают. Возникла необходимость что-то автоматизировать, взяли что-то простое и то, о чём хотя бы в школе слышали, и пошли ваять, без единого представления о том, как оно должно быть.

Что ж, имеет место быть.

Chiffchaff
()
Ответ на: комментарий от Chiffchaff

о чём хотя бы в школе слышали

вы настолько молодой? Я вот жалею что не родился во времена компьютеризации и первый раз увидел комп в 1998г на работе, я был в восторге и писал на Excel логические вычисления.

хотелось вырвать себе глаза

у меня тоже от двух языков хочется вырвать глаза (хотя нет, глаза то мои) это AutoHotkey и PECMD

AZJIO
() автор топика
Ответ на: комментарий от AZJIO

Ну я ведь тоже могу тебе работы подбросить, споёшь туже песню.

Вы не поняли о чём суждение было.

Так-то вы молодец, что софт разрабатываете, но нужно, чтобы он был удобен для работы.

К примеру у вас имеется две модуля для capture, но однозначно неудобны для использования (ранее в постах предлагал как сделать capture более удобной).
Реально пробовал два ваших модуля для capture и весьма неудобный интерфейс.

anonymous
()

Споры вокруг Басиков забавны: люди пишут, что язык плох, но сами на нём не писали. То есть не могут сформулировать, чем именно плох.

Я ранее немного писал на разных диалектах Бейсиков: Quick, Visial, VBS, .NET. И это как бы, разные языки с разным набором фич.

А тут вообщее что-то другое, с наследием от Амиги. Я на таком не писал.

wandrien ★★★
()
Ответ на: комментарий от anonymous

предлагал как сделать capture более удобной). Реально пробовал два ваших модуля для capture и весьма неудобный интерфейс.

Не получилось у меня с трея иконку стянуть.Если есть решение я не против.

AZJIO
() автор топика
Ответ на: комментарий от anonymous

Как это реализовать на C++ подсказал бы …

Но в чём проблема?

Кстати, там два разных принципа. Одну писал во времена WinXP и AutoIt3 и на WinXP иконка стягивалась и все проги на AutoIt3 я писал дотошно добавляя детально функционал. Если на PureBasic новое, то тоже дотошно пытаюсь, а повторение старых прог не дотягиваю до ранее сделанного функционала, поэтому стараюсь привнести что-то новое, так вот в PureBasic-ая имеет другую API. В AutoIt3-ской можно захватить список, дерево и меню целиком, но элементы внутри группировки (обведённые каймой, в z-порядке видимо ниже) часто не захватывает, а PureBasic-ая захватывает хоть пункт с дерева, но полный захват дерева, списков не работает.

AZJIO
() автор топика
Последнее исправление: AZJIO (всего исправлений: 1)
Ответ на: комментарий от wandrien

То есть не могут сформулировать, чем именно плох.

Язык убогий. Компилятор закрытый с адовыми ограничениями для бесплатного использования. Нет библиотек. Будь у меня опыт с этим пьюрбэсиком, может ещё чего добавил, но и сего достаточно.

ugoday ★★★★★
()
Ответ на: комментарий от wandrien

Я писал на том, где каждой строке присваивалась своя цифра. Даже если в поздних версиях от этого отказались, это характерная особенность: попытка реализовать какую-то простую модель, которая плохо масштабируется и плохо переносится на устоявшиеся нормы.

Ну а современные бейсики — это как джаву принимать за Си, в исходной редакции K&R.

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 3)
Ответ на: комментарий от AZJIO

Зачем? Варез у нас не приветствуется. Есть же свободное и открытое ПО, бери и пользуйся. Если достаточно знаний, можешь даже доработать, если какого-то функционала не хватает, или что-то работает не так, как должно – тебе даже спасибо скажут.

yars068 ★★★★★
()
Ответ на: комментарий от AZJIO

В AutoIt3-ской можно захватить список, дерево и меню целиком, но элементы внутри группировки (обведённые каймой, в z-порядке видимо ниже) часто не захватывает, а PureBasic-ая захватывает хоть пункт с дерева, но полный захват дерева, списков не работает.

Зачем вам AutoIt3?
Используйте на PureBasic API для работы с процессами.
Это позволит вам реализовать любую функциональность …

anonymous
()
Ответ на: комментарий от kaldeon

И я начинал на таком. Позже, конечно, изучал QBasic и TurboPascal, но программистом я так и не стал :) Сейчас – bash (shell), Python, C/C++ в свободное время изучаю. Дело движется медленно, но движется – свободного времени не так много, как хотелось бы.

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)
Ответ на: комментарий от yars068

Варез у нас не приветствуется

попробовать и варез это разные вещи… ну можешь покупать кота в мешке. Я тоже варез не приветствую. Также выставлять себя белым с позиции от группы людей.

нафига что-там захватывать

А текст с окон… В Linux тоже бы не помешала.

AZJIO
() автор топика
Ответ на: комментарий от anonymous

Используйте на PureBasic API для работы с процессами. Это позволит вам реализовать любую функциональность …

Это мне напоминает «заблудился в лесу - иди домой», «тонешь в море - плыви к берегу»

AZJIO
() автор топика
Ответ на: комментарий от AZJIO

Это мне напоминает «заблудился в лесу - иди домой», «тонешь в море - плыви к берегу»

А чем плох совет то?
Вот смотрите, ныне вы ограничены возможностями предлоставляемые
autoit3, тем самым вы сами себе ограничиваете возмжность
разработки более удобной фунциональности.

anonymous
()
Ответ на: комментарий от AZJIO

Совет не плох… Это как сказать фотошоп то люди написали, значит и ты можешь, в чём проблема?

Вот расскажу как у меня и почему у меня меньше проблем.
Понадобилось мне возможность получения всех данных об окне и contols.
Разработал несколько функций и проблема решена.
А так вы больше времени потратите на изучение какого-то стороннего API …

anonymous
()