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

Date: 2009-05-31 12:19 (UTC)
From: [identity profile] tnt23.livejournal.com
Image

http://www.jcwolfram.de/projekte/avr/chipbasic32/main.php

Date: 2009-06-02 06:20 (UTC)
From: [identity profile] tnt23.livejournal.com
Меня особенно убило, что у него прям выход на монитор там же :)

Date: 2009-06-04 09:31 (UTC)
From: [identity profile] tnt23.livejournal.com
Хорошие вещи не грех лишний раз пропиарить :)

Date: 2009-06-04 09:33 (UTC)
From: [identity profile] tnt23.livejournal.com
http://www.linusakesson.net/scene/craft/

Date: 2009-06-04 10:35 (UTC)
From: [identity profile] tnt23.livejournal.com
Типа Pong на FPGA Славинского (http://www.sensi.org/~svo/mahponk/)? :)

Date: 2009-05-31 12:53 (UTC)
From: [identity profile] zhengxi.livejournal.com
Lua - это уже другая весовая категория (100-500кб, плавающая точка, ..) чем Basic или Forth.
На такие микроконтролеры можно уже Tcl или Inferno ставить.

Date: 2009-05-31 14:45 (UTC)
From: [identity profile] raydac.livejournal.com
у меня тож первым был Бейсик Вильнюс но на БК-0010Ш

Date: 2009-06-01 10:25 (UTC)
From: [identity profile] nzeemin.livejournal.com
Были реализации Бейсика, уложенные в 4 КБ -- например, для Sinclair ZX80, конечно без операций с плавающей точкой.

Date: 2009-06-01 16:54 (UTC)
From: [identity profile] sasha474.livejournal.com
+1. Интересный пост, так и хочется спаять чонить на марках, но ничего о полезном устройстве для дома/сети в голову не приходит :(

Date: 2009-06-02 22:15 (UTC)
From: [identity profile] g-sim.livejournal.com
А этот текст про Д3-28 не вы писали? Случайно?

Date: 2009-10-09 08:32 (UTC)
From: [identity profile] nzeemin.livejournal.com
Вопрос -- а там точно был Вильнюсский Бейсик? Я считал что Вильнюс-Бейсик -- это реализация для PDP-11, разве нет? И чтобы два раза не вставать -- кем именно он создан и где?