Как стать автором
Обновить

Комментарии 68

Первый компьютер был клон спектрума — http://www.leningrad.su/museum/show_calc.php?n=338
Было мне 4-6 лет, писал всякую дичь, вроде игры "угадай число", да игрался с функциями вывода графиков.

О, а я примерно в таком же возрасте вот с этим игрался. Ностальгия!

Ваш был гораздо интереснее, зависть!
С другой стороны, будь у меня поиск, не факт что я увлёкся бы программированием)

Ну почему же, у меня сработало :) Принцип "хочешь игру – напиши" работал и тогда, так что писали всякие "Поле Чудес" и сами же играли.

Регулярно использую VBA Excel, изредка саппорт старых проектов на VB6.

Тоже часто, VBA Excel конечно, не совсем уж бейсик) Но для написания простейшего скрипта подходит. Тем более на старых машинах...

Я только в школе с ним поработал в свое время:) Тогда это был QBasic на 486-х… Интриговало! Только потом в класс добавили два Pentium с Windows 95, но допуск был к ним строго ограничен!
Эх, сколько диалектов было… Начинал с Агата-9, частичного клона Apple][ с каким то клоном яблочного интерпретатора, компьютеры в школе установили, все тетради в BASIC программах были исписаны с соответствующими провалами в гуманитарных науках, Вильнюс бейсик БК-0010, Синклер бейсик, GW, Q, Qiuck, Turbo от Borland, Visual… Но уже лет как 25 не написал ни одной строчки на нем.
Скрин QuickBASIC есть, а написать про него забыли. В нем была пара киллер-фич: редактор, который по мере ввода строк проверял синтаксис, компилятор, умеющий генерировать автономные exe-шники, и работа с мышью и прерываниями DOS. Это было пределом мечтаний школьника :)

а еще в нем была сверхудобная и понятная справка с приятным дизайном, меню для выбора и редактирования процедур и функций, которые редактировались в отдельном окне.

А еще в справке были примеры кода :)
А сами процедуры и функции были полноценными, с входными параметрами, локальными переменными и возможностью рекурсивного вызова. Я, правда, только с QBASIC сталкивался. Он автономные exe-шники делать не умел, но зато сам по себе для работы требовал единственный файл qbasic.exe

Я до сих пор поддерживаю несколько проектов на vb.net
на мой взгляд язык очень достойный получился, жаль что микрософт его решила прикопать...

Раз уж упомянули Commodore BASIC, то стоило напомнить, что там было одно из первых (1977) «пасхальных яиц» в истории коммерческого софта: недовольный тем, что из Commodore BASIC перед выпуском удалили упоминания Microsoft, Гейтс встроил в интерпретатор секретную команду WAIT6502, которая печатала на экране восемь заветных букв.
«WAIT 6502, 1»
Пробел необязателен, число после запятой любое: www.pagetable.com/?p=43
НЛО прилетело и опубликовало эту надпись здесь
Виртуальная аппаратная Basic-машина от Wilke Technology GmbH. Многозадачная OS с программированием задач пользователя в синтаксисе Basic.
Линейка взаимозаменяемых вычислительных модулей с начинкой разной производительности, когда-то минимальным микроконтроллером был 8051. Пользователя начинка не касается, у него есть стандартный интерфейс и среда разработки, он просто пишет дополнительные задачи и по мере роста проекта меняет микросборку на плате. Если захотелось сделать шаг вверх — меняет плату. Задачи продолжают работать без модификации.
Линейка совместимых плат, горы совместимой периферии.
Писал всё, что угодно на спектрум-бейсике, но скорости сразу перестало хватать и перешел на асм. Попутно попробовав паскаль. Кстати, паскаль по скорости на спектруме был самым быстрым компилируемым языком высокого уровня, быстрее чем си и откомпилированный бейсик.
Это HiSoft Pascal вы имеете ввиду? Помню был приятно удивлён, что мой Спектрум нормально читает с дискет паскалевские файлы лаб, над которыми корпели в универе на Мазовии с Турбопаскалем (кажется пятым). Можно было работать над кодом (с ограничениями, конечно) и там и там. Такая «айбиэмсовместимость» прям окрыляла)

10 Цыркле 127,95,95
20 плот 0,0
30 драв 255,191
40 плот 255,0
50 драв 0,191
60 паузе 0


Примерно такая моя первая программа))

В каком это бейсике была PLOT вместо PSET и PAUSE вместо SLEEP?

Естественно Sinclair

PAUSE vs SLEEP были в QBasic vs TurboBasic. поэтому код не перносился без корректировки. Но зато QBasic быв в винде искаропки, а TurboBasic умел делать экзешники.
PRINT PEEK 23733

255

(c умным видом)
Реакция — Боже, он хакер!
эх. юность, спектрум

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

PureBasic прекрасен для быстрой разработки небольших программ.
Когда-то писал на нем небольшие утилиты для личных нужд — в ограничение триала (по-моему 900 строк кода и нельзя использовать Win32 API) можно очень много чего уместить.
То, что он при этом умеет компилировать в нативные win32/linux/macOS gui приложения без присядки, это чудо :)

Купил лицензию лет 10 назад, до сих пор пишу на нем мелкие утилитки для рабочих задач. Еще меня в нем подкупает мелкий размер получающихся EXE файлов.
А Turbo Basic? Он умел компилировать в настоящий исполняемый файл, а Visaul Basic создавал некий псевдокод который требовал vbrun или как там она называлась.

Турбо Бейсик делал точно также: там к экзешнику целиком добавлялся весь турбобейсик )) поэтому минимальный размер исполняемого файла был равен размеру турбобейсика

Минимальный размер ехе файла килобайт 60, а размер Turbo Basic 200 КБ

По крайней мере на ЕС-1840 была радикальная разница в скорости исполнения. Я будучи подростком тогда написал частичный клон одной досовкой игры (lost mission?) и екзешка турбо бейскика работала реально шустро, особенно при загрузке уровня.

P.S.
Вот уж не ожидал, что смогу всё это вспомнить…
Всё хранилось на 5" дискетах — где они сейчас могут быть? Хотя наверно размагнитились давно…

Вроде так, это был полностью компилятор, в машинные коды. Но его библиотека встраивалась полностью в ехе файл — в результате размер получался большим…
Все остальные были или интерпретаторами или псевдокод...

10 лет развивал систему, работающую на связке MS SQL Server + VBScript. Достаточно серъезные компании использовали его вплоть до 2016 года. Такой себе микро-ERP: FI, CO, Asset Management, Tax, HR, AP/AR, Budgets, Contracts, Treasury, простенькое производство, и еще куча всего, вплоть до управления ценными бумагами.
Как это все работало — до сих пор с трудом в голове укладывается.
«Так „Дядю Ваню“ еще никто не ставил»(с)

p.s. А были еще Mega-Basic (на Синклере, с поддержкой спрайтов), MSX-Basic, БК-0010, QuickBasic, GW-Basic, MS Basic… Ужасть

На Бейсике кроссплатформенность — это либо ручная адаптация, либо разработака на другой платформе интерпретатора с близким синтаксисом (как на БК). Фортран, где степень стандартизации выше, обеспечивает лучшую кроссплатформенность.

А у Фортрана развиты средства доступа к аппаратуре? Графор помню, вероятно он привязан к оборудованию. А так вроде бы чистая математика, не омрачённая всякими PEEK/POKE. Всё же Basic создавался как учебный язык для слабых компьютеров, где требовались трюки с железом, чтобы хоть как-то работать. Fortran писался для больших машин, где доступ к железу был уделом людей в белых халатах. Возможно, в этом дело.

Вопрос в несколько другой плоскости. У разных Бейсиков бывает GO TO или GOTO, обратный слэш или двоеточие для разделения нескольких операторов в одной строке, CHR$ или CHR, KEY или INKEY$, DEFM или DIM, распространяемый, соответственно, на все переменные, или только на одну, обязательный или необязательный THEN или LET, команды, придуманные лично разработчиками интерпретатора, вроде LETC или INK, и даже такой шедевр, как ASCI с одной I. В общем, как шаурма или шаверма. В Фортране подобное кажется невозможным.


Другое дело, что можно ручками программу с любого Бейсика на любой перевести, но это уже творческий, а не механический процесс.

Кроссплатформеннось полная. Все операторы и функции (за редким исключением) одинаково работают на всех поддерживаемых платформах https://www.purebasic.com/documentation/

И да, это не интерпретатор, а компилятор.

Мне недавно пришлось объяснять школьнику, что такое рекурсия и как её использовать. После нескольких неудачных попыток объяснить с опорой на тот язык программирования, с которым мы работали (C#); после приведения нескольких простых примеров, что тоже не помогло, я от отчаяния ввёл иллюстративный язык программирования.

Этот язык был близок к BASIC, и в нём были команды, аналогичные GOTO, GOSUB, RETURN и IF-THEN, а также понятие стека. Тогда, наконец, зашло.
Rapid-Q Basic это кросcплатформенный BASIC язык с возможностью создания как GUI, так и консольных приложений (включая CGI приложения).
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)).
— Ну и там много чего
Rapid-Q Basic запустили под Raspberry Pi OS —

Это не единственный бейсик для малины.

Давно есть другие типа BlitzMax и PureBasic https://habr.com/ru/post/674810/

The HotBasic compiler uses an extended BASIC language to produce CONSOLE, CGI, GUI, DLL, and OBJ application types. With HotBasic, software developers create truly compiled Windows and Linux applications with a tiny footprint and rock-solid stability.
BASIC — отличный язык программирования, у которого есть только один недостаток: в каждой реализации этот язык — уникален, поэтому никто в итоге не може сказать, что такое BASIC.

Относительно современных реализаций — пользовался 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 тебе ни отладчика. На Си и то проще!

В 2000 году на конференции Gemplus во Франции MS предлагала свои карточки с VB. Тогда еще появлялись первые экземпляры Java карт (для банковских платежных и пр.).
Но, по видимому боссы в MS решили что это направление не перспективно.
RIP VisualBasic for Smart Card.
А иначе, возможно, весь мир бы жил на на Java картах, а на MS VB картах.
Свою первую программу под MS-DOS я написан на QBasic, с компилятором, года 83 или 85, что-то в этом духе. Потом был Turbo Pascal, показался сильно сложнее бейсика, удовольствие от работы ниже, но скорость выполнения откомпилированной программы была сильно выше, а размер исполняемого файла меньше.
Свою первую программу с графическим интерфейсом под Windows (не помню, правда, под какой) я писал на Visual Basic 3.
Всё просто, логично и лаконично и понятно. Прямо удовольствие в чистом виде.
После был Borland Delphi, но недолго, не понравился, а вот Borland C++ Builder зашел очень хорошо. Даже выпускная работа была на нём написана, веб-чат для Internet Explorer с серверной частью в виде написанной на Borland C++ Builder DLL библиотеки для работы с Internet Information Server. Об веб сервере Apache на фре я узнал только лет через 5 после этого.
Спустя лет 15-20 попробовал написать что-то в среде QT Creator.
Точно так же накидываешь на форму компоненты, а оживить всё это дело не получилось.
Непонятная структура проекта, всё слишком усложнено и нелогично совсем.
Раньше было лучше.
Вернитесь к BASIC, Gambas Вам в этом друг и помощник! :)
До сих пор использую программу для работы с базой тестов и проведения тестирования, которую написал на Visual Basic больше 10 лет назад.
В школе изучал Бейсик, ходил в кружок программирования и писал много «интересных» программ.

А в институте начали изучать Паскаль, и это была боль. Как же нас били по рукам, заставляя отказываться от GOTO и прочих бейсиковых штучек. А еще надо было объявлять все переменные, и еще кучу разных заморочек… Но со временем привык.

А к Бейсику я потом ненадолго вернулся, когда писал макросы для MS Office, а потом дергал их через OLE из программы на дельфях. Юзера любили наблюдать, как у них на глазах создается документ, вводится и форматируется текст.
Классная статья, жаль что в школе у нас бейсику мало времени уделяли, в приоритете был паскаль
В школе начинал познавать программирование с турбо паскаля 7.0 но QBASIC нравился больше. В Visual Basic очень долго вникал, в эти принципы ООП, в целом в визуальное программирование, но таки не понял зачем в моих задачах этот оверхед, не зашло, да и .net я не люблю, поэтому всё ещё пишу в процедурном стиле на PureBasic(транслятор в fasm), Basic4Android(транслятор в Java) и Autoit.
Когда я был школьником (мне 27) у меня ещё не было компьютера, но был интерес. Тогда была такая штука, как Mobile BASIC на J2ME платформе — хоть и было немного не удобно писать код на телефоне, но зато эмоций от работающей программы было уйма.
Тогда была такая штука, как Mobile BASIC на J2ME платформе
— хоть и было немного не удобно писать код на телефоне

Кстати. А существуют ли нынче подобные штуки для Андроида, но только, чтобы можно было на мобиле запускать perl-скрипты (ну или программы на других языках, в т.ч. и на Бейсике)?

Есть OwnLang под Андроид, всякие интерпретаторы есть.
Кстати, что из современных интерпретаторов BASIC ближе всего к Turbo Basic? Желательно под Linux чтоб был в первую очередь? Там даже что то типа Turbo Vision было или я путаю?

До сих пор работают написанные в Turbo бейсике программы бухучета.

На микроконтроллерах Бейсик наверное всё-таки не зайдёт — разные сценарии использования. На старых домашних компьютерах программное обеспечение вводится, а иногда и с начала разрабатывается конечным пользователем на самом компьютере. Поэтому нужно иметь относительно удобный интерфейс для выполнения этих задач непосредственно с компьютера. А на микроконтроллерах, во-первых, пользователю не нужно иметь доступа к коду ПО (только если он не разработчик), а во-вторых, на МК ПО загружается с более мощного ПК разработчика со средствами отладки, впихивать в сам МК средства разработки и интерфейс пользователя для редактирования программ не нужно. Поэтому на МК лучше использовать компилируемый (а не интерпретируемый) язык, чаще всего Си.
Бейсик сейчас мог бы быть популярным в качестве скриптового языка, но в сфере скриптовых языков сейчас лидирует Python. VBA был последним популярным Бейсикоподобным скриптовым языком, но у него есть серьёзный недостаток — он привязан к одной платформе, MS Office / Windows. Хотя в LibreOffice есть свой аналог VBA, тоже основанный на Бейсике, API там не совсем совместим.

Синтаксис не определяет возможность или невозможность создания компилятора/транслятора.
Выше в комментарии приводил пример семейства микроконтроллеров, программируемых на Basic.
Почему VBA последний? Autoit тоже довольно мощный скриптовый язык, причём очень простой. Мне он прямо зашел лучше VBA и питона. Но да, только для Windows.
Поэтому на МК лучше использовать компилируемый (а не интерпретируемый) язык, чаще всего Си.
Бейсик сейчас мог бы быть популярным в качестве скриптового языка, но в сфере скриптовых языков сейчас лидирует Python.

Ну так на Python и программируют МК, вполне успешно и популярно.
На его месте вполне мог бы быть Бейсик, если бы MS — тридцать лет бывшие лидерами бейсикостроения — не забросили его в нулевые.

На микроконтроллерах Бейсик наверное всё-таки не зайдёт

Bascom, FastAVR, mikroBasic, GreatCowBASIC, ProtonBasic и так далее можно перечислять бейсики для микроконтроллеров.

Бейсик сейчас мог бы быть популярным в качестве скриптового языка

Сейчас полно компиляторов бейсика. Вполне адекватных. К примеру https://habr.com/ru/post/674810/

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

Первую программу не на листочке писал на http://yabasic.de/ (он всё еще поддерживается!) — потому что его интерпретатор оказался на CD-приложении к «Миру ПК» (а вот он почил с миром). Там, конечно, был еще и FreePASCAL, но с ним я не разобрался, а к YaBasic прилагалась инструкция с красочными примерами :)


Конечно, эта штука была уже только под Windows, зато была возможность шпарить в консоль цветным выводом (я делал менюшки в стиле DN) и график в отдельном экране (кое-как сделал мышекликовый монохромный Paint — на тот момент цветной графики еще не было).


Эх, жаль исходники канули в бездну...

Не упомянут тут нигде WordBasic — предшественник VBA.


В ВордБейсике тоже была такая среда разработки, в которой диалоговые окна тоже можно было ваять. Это было в винворде, кажись, так называемой 6-й версии — в 90-х годах.


На ВордБейсике тогда я наваял тогда макрос, который из сборника стихотворений выбирал заголовки стихотворений и вставлял их в содержание. Процесс был интерактивным, т.е. про каждый найденный заголовок задавался вопрос — правильно ли найден заголовок или его надо уточнить. Ну и внизу в вариантах ответов на вопросы уточнения я вставил кнопку со смыслом, понятным из надписи на ней "Дальше я как нибудь сам". Ну это на случай, если видишь, что все заголовки макрос дёргает правильно. Ну тогда этой кнопкой разрешаешь ему остаток содержания построить самостоятельно (своим "искуственным интеллектом") уже без помощи инлеллекта естественного (без помощи оператора то бишь).


А нынче мы на VBA в ворде обрабатываем некоторые специфические тексты. Хотя очень давно появилась мысль переписать все наши VBA-макросы обработки текста на перле, чтобы уйти от привязанности к Офису в деле только обработки текста, но всё никак не доходят руки всё это переписать. Так и продолжаем обрабатывать тексты макросами VBA, которые для этого написаны очень давно и работают нормально.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий