Предыдущее | Следующее

Старый добрый Бейсик

  • 31 Май, 2009 at 2:38 PM
Улыбка
Первый опыт программирования на Бейсике я поимел в 1983 году. Это был Бейсик-Вильнюс на Электронике Д3-28. На физтехе стоял целый компьютерный класс этих машинок, где студенты занимались обработкой данных лабораторных работ по физике. В качестве носителя использовались бытовые аудиокассеты. Впрочем, глючило это дело страшно, и программу проще было вбить заново, чем прочитать с кассеты.

Интересно, что Бейсик был изобретён (в 1964-м) как компилируемый язык для больших ЭВМ, по эффективности не уступавший Фортрану и Алголу. И только с появлением первого персонального компьютера Altair 8800 (в 1975-м) стал диалоговым интерпретатором.

Прелесть Бейсик-интерпретатора в том, что он представляет собой законченную систему: и редактор, и отладчик, и компилятор, и драйверы внешних устройств в одном флаконе. Текст программы хранится в памяти в виде связанного упорядоченного списка строк, разобранных на лексемы. Этого представления достаточно как для отображения и редактирования, так и для эффективного выполнения. Требования по памяти минимальные: от 8 килобайт ОЗУ.

С появлением встраиваемых микроконтроллером идея Бейсика получила вторую жизнь. Фирма Parallax выпускает Basic Stamps - электронные модули размером с почтовую марку, которые можно запрограммировать на Бейсике и с их помощью управлять разнообразными вещами. Фирма Coridium развивает ARMbasic - компилятор для процессоров ARM.

Я разыскал неплохую открытую реализацию - Micro-Basic от Dave Dunfield, на базе которой можно было бы создать встроенный Бейсик для AVR или ARM. Хранить программу можно в памяти процессора (NVRAM или Flash), а редактировать - через порт USB/UART.

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

Comments

( 18 комментариев — Оставить комментарий )
[info]ramlamyammambam wrote:
2 Июн, 2009 06:06 (UTC)
Да, примерно та же идея. Но мужик реально крут, столько на ассемблере нафигачить. :)
[info]tnt23 wrote:
2 Июн, 2009 06:20 (UTC)
Меня особенно убило, что у него прям выход на монитор там же :)
[info]ramlamyammambam wrote:
4 Июн, 2009 07:22 (UTC)
Ой, а я и не сообразил. Программно генерит видеосигнал? И клавиатура, и принтерный порт имеется. Странная затея, но что-то в этом есть. Если видеоадаптер слегка усложнить и сделать на FPGA, да добавить Ethernet, данная конструкция вполне может иметь практическое применение. Как кассовый или платёжный или информационный терминал.
[info]tnt23 wrote:
4 Июн, 2009 09:31 (UTC)
Хорошие вещи не грех лишний раз пропиарить :)

[info]ramlamyammambam wrote:
4 Июн, 2009 10:33 (UTC)
Я видел похожую самоделку - генератор телевизионных сигналов на PIC. Надо будет как-нибудь сбацать. Что-то типа древней советской видеоигры - теннис или сквош.
[info]zhengxi wrote:
31 Май, 2009 12:53 (UTC)
Lua - это уже другая весовая категория (100-500кб, плавающая точка, ..) чем Basic или Forth.
На такие микроконтролеры можно уже Tcl или Inferno ставить.
[info]ramlamyammambam wrote:
2 Июн, 2009 06:12 (UTC)
Нынешняя реализация Lua не годится, надо попроще сваять. Думаю, можно впихнуть в 16к ОЗУ. Естественно, без float point. Кое-чем в языке пожертвовать можно.
[info]raydac wrote:
31 Май, 2009 14:45 (UTC)
у меня тож первым был Бейсик Вильнюс но на БК-0010Ш
[info]nzeemin wrote:
1 Июн, 2009 10:25 (UTC)
Были реализации Бейсика, уложенные в 4 КБ -- например, для Sinclair ZX80, конечно без операций с плавающей точкой.
[info]sasha474 wrote:
1 Июн, 2009 16:54 (UTC)
+1. Интересный пост, так и хочется спаять чонить на марках, но ничего о полезном устройстве для дома/сети в голову не приходит :(
[info]ramlamyammambam wrote:
2 Июн, 2009 06:17 (UTC)
Да хоть новогоднюю гирлянду с управлением через COM-порт. :)
[info]g_sim wrote:
2 Июн, 2009 22:15 (UTC)
А этот текст про Д3-28 не вы писали? Случайно?
[info]ramlamyammambam wrote:
4 Июн, 2009 07:12 (UTC)
Нет, не я. :)
Про эту машинку я уже и забыл совсем. Еще школьником, на физфаке Киевского универа довелось делать на ней управление болгарским графопостроителем. Никакого бейсика, прямо в машинных командах.
[info]nzeemin wrote:
9 Окт, 2009 08:32 (UTC)
Вопрос -- а там точно был Вильнюсский Бейсик? Я считал что Вильнюс-Бейсик -- это реализация для PDP-11, разве нет? И чтобы два раза не вставать -- кем именно он создан и где?
[info]ramlamyammambam wrote:
9 Окт, 2009 08:49 (UTC)
Зуб не дам. Возможно, и не Вильнюсский, но корни наверняка общие. Историю не знаю, к сожалению.
( 18 комментариев — Оставить комментарий )