2009-05-31

vak: (Default)
Первый опыт программирования на Бейсике я поимел в 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, гораздо более современном.