Комментарии 68
Первый компьютер был клон спектрума — http://www.leningrad.su/museum/show_calc.php?n=338
Было мне 4-6 лет, писал всякую дичь, вроде игры "угадай число", да игрался с функциями вывода графиков.
Регулярно использую VBA Excel, изредка саппорт старых проектов на VB6.
а еще в нем была сверхудобная и понятная справка с приятным дизайном, меню для выбора и редактирования процедур и функций, которые редактировались в отдельном окне.
Я до сих пор поддерживаю несколько проектов на vb.net
на мой взгляд язык очень достойный получился, жаль что микрософт его решила прикопать...
Линейка взаимозаменяемых вычислительных модулей с начинкой разной производительности, когда-то минимальным микроконтроллером был 8051. Пользователя начинка не касается, у него есть стандартный интерфейс и среда разработки, он просто пишет дополнительные задачи и по мере роста проекта меняет микросборку на плате. Если захотелось сделать шаг вверх — меняет плату. Задачи продолжают работать без модификации.
Линейка совместимых плат, горы совместимой периферии.
10 Цыркле 127,95,95
20 плот 0,0
30 драв 255,191
40 плот 255,0
50 драв 0,191
60 паузе 0
Примерно такая моя первая программа))
255
(c умным видом)
Реакция — Боже, он хакер!
эх. юность, спектрум
PureBasic прекрасен для быстрой разработки небольших программ.
Когда-то писал на нем небольшие утилиты для личных нужд — в ограничение триала (по-моему 900 строк кода и нельзя использовать Win32 API) можно очень много чего уместить.
То, что он при этом умеет компилировать в нативные win32/linux/macOS gui приложения без присядки, это чудо :)
Турбо Бейсик делал точно также: там к экзешнику целиком добавлялся весь турбобейсик )) поэтому минимальный размер исполняемого файла был равен размеру турбобейсика
Минимальный размер ехе файла килобайт 60, а размер Turbo Basic 200 КБ
P.S.
Вот уж не ожидал, что смогу всё это вспомнить…
Всё хранилось на 5" дискетах — где они сейчас могут быть? Хотя наверно размагнитились давно…
Вроде так, это был полностью компилятор, в машинные коды. Но его библиотека встраивалась полностью в ехе файл — в результате размер получался большим…
Все остальные были или интерпретаторами или псевдокод...
Как это все работало — до сих пор с трудом в голове укладывается.
«Так „Дядю Ваню“ еще никто не ставил»(с)
p.s. А были еще Mega-Basic (на Синклере, с поддержкой спрайтов), MSX-Basic, БК-0010, QuickBasic, GW-Basic, MS Basic… Ужасть
На Бейсике кроссплатформенность — это либо ручная адаптация, либо разработака на другой платформе интерпретатора с близким синтаксисом (как на БК). Фортран, где степень стандартизации выше, обеспечивает лучшую кроссплатформенность.
Вопрос в несколько другой плоскости. У разных Бейсиков бывает GO TO или GOTO, обратный слэш или двоеточие для разделения нескольких операторов в одной строке, CHR$ или CHR, KEY или INKEY$, DEFM или DIM, распространяемый, соответственно, на все переменные, или только на одну, обязательный или необязательный THEN или LET, команды, придуманные лично разработчиками интерпретатора, вроде LETC или INK, и даже такой шедевр, как ASCI с одной I. В общем, как шаурма или шаверма. В Фортране подобное кажется невозможным.
Другое дело, что можно ручками программу с любого Бейсика на любой перевести, но это уже творческий, а не механический процесс.
Кроссплатформеннось полная. Все операторы и функции (за редким исключением) одинаково работают на всех поддерживаемых платформах https://www.purebasic.com/documentation/
И да, это не интерпретатор, а компилятор.
Этот язык был близок к BASIC, и в нём были команды, аналогичные GOTO, GOSUB, RETURN и IF-THEN, а также понятие стека. Тогда, наконец, зашло.
Rapid-Q поддерживает Windows 95 / 98 / NT / 2000, Linux / i386, Solaris / Sparc, and HP-UX.
Rapid-Q является полностью FreeWare.
Rapid-Q поддерживает большинство команд QBasic. Если вы хотя бы немного знакомы с QBasic, изучение Rapid-Q будет несложным.
Rapid-Q поддерживает:
— визуальное создание форм; ( по факту-нет)
— вызовы DLL;
— поддерживает MySQL, DirectX, частично Direct3D, Sockets, COM;
— объектное программирование и многое другое.
====
FreeBASIC — язык программирования высокого уровня по синтаксису наиболее близкий к QuickBASIC, а также компилятор для него (FreeBASIC Compiler)
Компилирует QBasic и FreeBASIC код в 32 и 64-битные исполняемые Win32, DOS (в защищённом режиме) и Linux x86 модули.
Поддержка Юникода.
Множество встроенных типов переменных (Byte, UByte, Short, UShort, Integer, UInteger, LongInt, ULongInt, Single, Double, Boolean, String, ZString, WString).
Типы данных определяемые пользователем (бесконечная вложенность, Union, тип поля (array, function, bit fields)).
— Ну и там много чего
Это не единственный бейсик для малины.
Давно есть другие типа BlitzMax и PureBasic https://habr.com/ru/post/674810/
Относительно современных реализаций — пользовался FreeBASIC лет 7 прошло с последнего «захода». Несмотря на (соответствующие истине) декларации совместимости с QuickBASIC, по сути этот режим является для FreeBASIC абсолютно не родным. По сути же FreeBASIC — это в некий гибрид Си и классического BASIC: в FB есть работа с указателями, многопоточность, есть «объекты», но далёкие от классического ООП (простое расширение для TYPE), статическая типизация является принудительной. Вне режима совместимости на нём не получится писать в полусознательном состоянии что-то такое разудалое, весёлое и аморфное — FreeBASIC вполне нормальный, «взрослый» язык. Из реальных недостатков — его компилятор генерирует не очень эффективный код, на объёмных вычислениях это становится особенно заметно. Я как-то делал вычислительный бенчмарк простейший — у nodejs получалось время вычислений в районе 1.1 сек, а на FreeBASIC — 0.85 (на Python — 2.5 сек, Perl — 3.2 сек), что с учётом разницы между интерпретатором и компилятором выглядело, мягко говоря, не очень. К памяти программы на FB не требовательны, но с т.з. эффективности кода совсем не поражают воображение. Впрочем, для студенческих курсовых в МИХМе/МГУИЭ мне его хватало с лихвой даже на древнем Intel Celeron 500.
Да, чуть не забыл! Gambas же — самый простой способ создать GUI-приложение для Linux. По сути «скриптовый» язык для GUI, позволяющий тем не менее создавать интерфейсы любой сложности. При ещё и OpenSource. О Gambas была интересная серия статей в журнале Linux Format, не помню уже, в каком году.
Из реальных недостатков — его компилятор генерирует не очень эффективный код, на объёмных вычислениях это становится особенно заметно. Я как-то делал вычислительный бенчмарк простейший — у nodejs получалось время вычислений в районе 1.1 сек, а на FreeBASIC — 0.85 (на Python — 2.5 сек, Perl — 3.2 сек)
Вот такого не замечал, FreeBASIC реально быстрый. А не сохранился ли это бенчмарк? Интересно было бы испытать )
в каждой реализации этот язык — уникален, поэтому никто в итоге не може сказать, что такое BASIC.
Это с какой стороны посмотреть. С одной нет общего стандарта, а с другой, в язык могут добавить интересные особенности.
FreeBASIC
С библами у него полный голяк! Нада гуя? Пиши на вынь-апи! А если мне под линукса нада? Аблом или иди учи GTK! Ну его нафик тем более из каробки тока компилятор. Ни IDE тебе ни отладчика. На Си и то проще!
Но, по видимому боссы в MS решили что это направление не перспективно.
RIP VisualBasic for Smart Card.
А иначе, возможно, весь мир бы жил на на Java картах, а на MS VB картах.
Свою первую программу с графическим интерфейсом под Windows (не помню, правда, под какой) я писал на Visual Basic 3.
Всё просто, логично и лаконично и понятно. Прямо удовольствие в чистом виде.
После был Borland Delphi, но недолго, не понравился, а вот Borland C++ Builder зашел очень хорошо. Даже выпускная работа была на нём написана, веб-чат для Internet Explorer с серверной частью в виде написанной на Borland C++ Builder DLL библиотеки для работы с Internet Information Server. Об веб сервере Apache на фре я узнал только лет через 5 после этого.
Спустя лет 15-20 попробовал написать что-то в среде QT Creator.
Точно так же накидываешь на форму компоненты, а оживить всё это дело не получилось.
Непонятная структура проекта, всё слишком усложнено и нелогично совсем.
Раньше было лучше.
А в институте начали изучать Паскаль, и это была боль. Как же нас били по рукам, заставляя отказываться от GOTO и прочих бейсиковых штучек. А еще надо было объявлять все переменные, и еще кучу разных заморочек… Но со временем привык.
А к Бейсику я потом ненадолго вернулся, когда писал макросы для MS Office, а потом дергал их через OLE из программы на дельфях. Юзера любили наблюдать, как у них на глазах создается документ, вводится и форматируется текст.
Тогда была такая штука, как Mobile BASIC на J2ME платформе
— хоть и было немного не удобно писать код на телефоне
Кстати. А существуют ли нынче подобные штуки для Андроида, но только, чтобы можно было на мобиле запускать perl-скрипты (ну или программы на других языках, в т.ч. и на Бейсике)?
До сих пор работают написанные в Turbo бейсике программы бухучета.
На микроконтроллерах Бейсик наверное всё-таки не зайдёт — разные сценарии использования. На старых домашних компьютерах программное обеспечение вводится, а иногда и с начала разрабатывается конечным пользователем на самом компьютере. Поэтому нужно иметь относительно удобный интерфейс для выполнения этих задач непосредственно с компьютера. А на микроконтроллерах, во-первых, пользователю не нужно иметь доступа к коду ПО (только если он не разработчик), а во-вторых, на МК ПО загружается с более мощного ПК разработчика со средствами отладки, впихивать в сам МК средства разработки и интерфейс пользователя для редактирования программ не нужно. Поэтому на МК лучше использовать компилируемый (а не интерпретируемый) язык, чаще всего Си.
Бейсик сейчас мог бы быть популярным в качестве скриптового языка, но в сфере скриптовых языков сейчас лидирует Python. VBA был последним популярным Бейсикоподобным скриптовым языком, но у него есть серьёзный недостаток — он привязан к одной платформе, MS Office / Windows. Хотя в LibreOffice есть свой аналог VBA, тоже основанный на Бейсике, API там не совсем совместим.
Выше в комментарии приводил пример семейства микроконтроллеров, программируемых на Basic.
Поэтому на МК лучше использовать компилируемый (а не интерпретируемый) язык, чаще всего Си.
Бейсик сейчас мог бы быть популярным в качестве скриптового языка, но в сфере скриптовых языков сейчас лидирует Python.
Ну так на Python и программируют МК, вполне успешно и популярно.
На его месте вполне мог бы быть Бейсик, если бы MS — тридцать лет бывшие лидерами бейсикостроения — не забросили его в нулевые.
На микроконтроллерах Бейсик наверное всё-таки не зайдёт
Bascom, FastAVR, mikroBasic, GreatCowBASIC, ProtonBasic и так далее можно перечислять бейсики для микроконтроллеров.
Бейсик сейчас мог бы быть популярным в качестве скриптового языка
Сейчас полно компиляторов бейсика. Вполне адекватных. К примеру https://habr.com/ru/post/674810/
Ещё конечно же пользовался Бейсиком на Спектруме.
Первую программу не на листочке писал на http://yabasic.de/ (он всё еще поддерживается!) — потому что его интерпретатор оказался на CD-приложении к «Миру ПК» (а вот он почил с миром). Там, конечно, был еще и FreePASCAL, но с ним я не разобрался, а к YaBasic прилагалась инструкция с красочными примерами :)
Конечно, эта штука была уже только под Windows, зато была возможность шпарить в консоль цветным выводом (я делал менюшки в стиле DN) и график в отдельном экране (кое-как сделал мышекликовый монохромный Paint — на тот момент цветной графики еще не было).
Эх, жаль исходники канули в бездну...
Не упомянут тут нигде WordBasic — предшественник VBA.
В ВордБейсике тоже была такая среда разработки, в которой диалоговые окна тоже можно было ваять. Это было в винворде, кажись, так называемой 6-й версии — в 90-х годах.
На ВордБейсике тогда я наваял тогда макрос, который из сборника стихотворений выбирал заголовки стихотворений и вставлял их в содержание. Процесс был интерактивным, т.е. про каждый найденный заголовок задавался вопрос — правильно ли найден заголовок или его надо уточнить. Ну и внизу в вариантах ответов на вопросы уточнения я вставил кнопку со смыслом, понятным из надписи на ней "Дальше я как нибудь сам". Ну это на случай, если видишь, что все заголовки макрос дёргает правильно. Ну тогда этой кнопкой разрешаешь ему остаток содержания построить самостоятельно (своим "искуственным интеллектом") уже без помощи инлеллекта естественного (без помощи оператора то бишь).
А нынче мы на VBA в ворде обрабатываем некоторые специфические тексты. Хотя очень давно появилась мысль переписать все наши VBA-макросы обработки текста на перле, чтобы уйти от привязанности к Офису в деле только обработки текста, но всё никак не доходят руки всё это переписать. Так и продолжаем обрабатывать тексты макросами VBA, которые для этого написаны очень давно и работают нормально.
BASIC. Кроссплатформенное ПО тогда и сейчас