Loading AI tools
Из Википедии, свободной энциклопедии
BBC BASIC — язык программирования семейства BASIC, созданный в 1981 году как встроенный интерпретатор Basic для компьютера BBC Micro компании Acorn. BBC Micro был специально создан по заказу британской компании BBC, за что и получил своё название.[1]
BBC BASIC | |
---|---|
Класс языка | процедурный, объектно-ориентированный, компонентно-ориентированный |
Тип исполнения | компилируемый, интерпретируемый |
Появился в | 1981 |
Разработчик | Софи Уилсон |
Выпуск | 5.90b |
Система типов | не строгая |
Основные реализации | BASIC I, BASIC II, BASIC III, BASIC IV, BASIC V, BASIC VI, HI-BASIC, BAS128 |
Испытал влияние | BASIC, Atom BASIC |
Сайт | bbcbasic.org |
BBC BASIC основан на более старом Atom BASIC, имевший возможности работы с процедурами и функциями, а также со структурами IF-THEN-ELSE
. Кроме того, он имел широкие возможности по работе со звуком и поддерживал графику с высоким разрешением.
Одной из уникальных особенностей BBC BASIС была поддержка элементов ассемблера и возможность писать на нём программы для MOS Technology 6502. Ассемблер был полностью встроен в BBC Basic — компиляция ассемблерной программы происходила во время интерпретации программы, откомпилированный код размещался в оперативной памяти (обычно для этого надо было заранее зарезервировать соответствующий кусок памяти), а потом двоичный код можно было записать на диск или вызвать прямо из программы. Это позволяло использовать при компиляции выражения с переменными языка и даже вызывать функции, существенно увеличивая функциональность компилятора.
В 1978 году Херман Хаузер и Эндрю Хоппер основали компанию Acorn Computers. Эндрю Хоппер сейчас является главой компьютерной лаборатории в Кембриджском университете.[2] Большинство кода было написано Софи Вилсон (англ.) и её коллегами.[3][4]
BASIC I, оригинальная версия, была написана для ранней версии BBC Micro.
BASIC II был использован в Acorn Electron и BBC Micro уже после 1982 года, включая BBC B+.
BASIC III издавался в Великобритании и США компанией Acron Computers под одной версией. В этой версии было исправлено множество ошибок, а также добавлены новые возможности, например, команда COLOR
, изменявшая цвет вводимого текста. BASIC III также известен как HI-BASIC.
BASIC IV, также известный как CMOS BASIC, поддерживал компьютеры BBC Master и BBC Master Compact. В этой версии были добавлены новые команды, исправлены ошибки, появилась поддержка других процессоров.
HI-BASIC был доступен в двух версия; первая была основана на BASIC III, а вторая на BASIC IV. Версия поддерживалась процессорами Z80 и 6502 Second.[5]
По мере развития аппаратных средств выпускались новые версии BASIC, позволявшие использовать новые возможности аппаратуры. Например, с выпуском компьютеров на процессоре 6512 появились версии, использовавшие расширенный набор команд процессора — эти новые версии BASIC были несовместимы со старыми процессорами. Для работы на «втором процессоре» (на самом деле это был отдельный блок с собственным процессором и оперативной памятью, взаимодействовавший с основным процессором через кабель) были выпущены версии BASIC, которые при запуска на этом «втором процессоре» работали на верхних адресам памяти; это позволяло увеличить доступную BASIC-программе память примерно на четырнадцать килобайт (при том, что на «втором процессоре» BASIC-программа имела больше памяти за счёт того, что операционная система держала свои данные на основном процессоре).
Другая версия BBC BASIC, BAS128, поставлялась с компьютерами BBC Master и Master Compact. Она загружалась в основную RAM и использовала 64 КБ оперативной памяти компьютера (те модули, в которые обычно загружались резидентные программы типа драйверов дополнительных файловых систем; текстовых редакторов; etc). Это позволяло предоставить больше памяти BASIC-программе.
С переходом на 32-битный центральный процессор архитектуры ARM и снятием 16 КБ ограничения, появились новые возможности. Новый BASIC V версии 1.04 занимал 61 КБ памяти:
Особенности новой версии:
WHILE-ENDWHILE
IF-THEN-ELSE-ENDIF
CASE-OF-WHEN-OTHERWISE-ENDCASE
,RETURN
в процедурах,LIBRARY
,INSTALL
и OVERLAY
),LOCAL DATA
и LOCAL ERROR
,RESTORE
,STEP TRACE
,Графические команды были совместимы со старыми версиями, но операторы звука отличаются. Вскоре ассемблер для процессора 6502 был заменён на ассемблер для ARM. По словам Acorn, BASIC V — «самый быстрый интерпретатор BASIC в мире».
BASIC VI является версией BASIC V, которая поддерживает 8-байтовый формат чисел. В BASIC I использовался 5-байтовый.
BBC BASIC V и VI поставлялись вместе с Acorn Archimedes и Risc PC. BBC BASIC V также мог запускаться на процессоре ARM на BBC Micro.
Последние версии RISC OS всё ещё содержат встроенный BBC BASIC.
BBC BASIC также был выпущен для многих других платформах.[6]
В дополнение BBC BASIC также поддерживал компьютеры BBC Micro с процессором Zilog Z80. В 2002 году BBC BASIC также стал поддерживаться на Sinclar Spectrum благодаря J.G Harston (он также создал версию для PDP-11).
Версия для Zilog Z80 также использовалась на компьютерах Tiki 100, Cambridge Z88, Amstrad NC100 и Amstrad NC200. На основе этой версии была создана версия для TI-83 Plus и TI-84 Plus серии графических калькуляторов.
Для компьютеров на основе IBM PC, была также создана версия BBC BASIC для DOS, известная как «BBCBASIC (86)».
Версия BBC BASIC была интегрирована в Microsoft Windows, и её версия Windows-версия[7] была создана Ричардом Расселом (который также был разработчиком версий для Z80 и x86) в 2001 году. Эта версия похожа по синтаксису на BASIC V/VI, но, конечно, содержит множество дополнений. Например, была добавлена возможность работы с DLL, а по функциям BBC BASIC для Windows не уступает C.
GPL клон BBC BASIC под названием Brandy[8] был написан на C.
Версия для Commodore 64 был написана компанией Aztec Software в начале 1980 годов.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.