BBC BASIC

Поделись знанием:
Перейти к: навигация, поиск
BBC BASIC
Класс языка:

процедурный, объектно-ориентированный, компонентно-ориентированный

Тип исполнения:

компилируемый, интерпретируемый

Появился в:

1981

Выпуск:

5.90b

Система типов:

не строгая

Основные реализации:

BASIC I, BASIC II, BASIC III, BASIC IV, BASIC V, BASIC VI, HI-BASIC, BAS128

Испытал влияние:

BASIC, Atom BASIC

BBC BASIC — язык программирования семейства BASIC, созданный в 1981 году как встроенный интерпретатор Basic для компьютера BBC Micro компании Acorn. BBC Micro был специально создан по заказу британской компании BBC, за что и получил своё название.[1]

BBC BASIC основан на более старом Atom BASIC, имевший возможности работы с процедурами и функциями, а также со структурами IF-THEN-ELSE. Кроме того, он имел широкие возможности по работе со звуком и поддерживал графику с высоким разрешением.

Одной из уникальных особенностей BBC BASIС была поддержка элементов ассемблера и возможность писать на нём программы для MOS Technology 6502. Ассемблер был полностью встроен в BBC Basic - компиляция ассемблерной программы происходила во время интерпретации программы, откомпилированный код размещался в оперативной памяти (обычно для этого надо было заранее зарезервировать соответствующий кусок памяти), а потом двоичный код можно было записать на диск или вызвать прямо из программы. Это позволяло использовать при компиляции выражения с переменными языка и даже вызывать функции, существенно увеличивая функциональность компилятора.





История

В 1978 году Херман Хаузер и Эндрю Хоппер основали компанию Acorn Computers. Эндрю Хоппер сейчас является главой компьютерной лаборатории в Кембриджском университете.[2] Большинство кода было написано Софи Вилсон (англ.) и её коллегами.[3][4]

BBC Micro

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-программе.

Acorn Archimedes (RISC OS)

С переходом на 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 годов.

Напишите отзыв о статье "BBC BASIC"

Примечания

  1. [news.bbc.co.uk/1/hi/technology/7307636.stm BBC Micro ignites memories of revolution]. Publication date 21 March 2008. BBC News. Проверено 28 ноября 2010.
  2. [news.bbc.co.uk/1/hi/technology/6217447.stm UK home computer pioneer honoured]. Publication date 30 December 2006. BBC News. Проверено 30 ноября 2010. [www.webcitation.org/695NKbfm9 Архивировано из первоисточника 12 июля 2012].
  3. [www.bbc.co.uk/ahistoryoftheworld/objects/MKG9WQ8WSyasxVeM0Z9T3A Video processor for Acorn/BBC computer]. Publication date 5th July 2010. BBC News. Проверено 30 ноября 2010. [www.webcitation.org/695NPj6bS Архивировано из первоисточника 12 июля 2012].
  4. [news.bbc.co.uk/1/hi/technology/7307636.stm BBC Micro ignites memories of revolution]. Publication date 21 March 2008. BBC News. Проверено 30 ноября 2010.
  5. Smith Bruce. A & B Computing. — 1, Golden Square London: Argus specialist Publications, November 1984. — P. 1406.
  6. [mdfs.net/bbcbasic/ BBC BASIC — MDFS::Software.$.BBCBasic]
  7. [www.rtrussell.co.uk/products/bbcwin/bbcwin.html Версия BBC BASIC для Windows.]
  8. [jaguar.orpheusweb.co.uk/branpage.html RISC OS Software]

Ссылки

  • www.bbcbasic.org/
  • www.rtrussell.co.uk/
  • mdfs.net/bbcbasic/
  • [www.benryves.com/products/bbcbasic/ Внедрение TI-83+ и TI-84+ в BBC BASIC]
  • [www.ncus.org.uk/ Сайт пользователей Amstrad NC]

Отрывок, характеризующий BBC BASIC

– Здесь, – отвечал лакей смелым, громким голосом, как будто теперь всё уже было можно, – дверь налево, матушка.
– Может быть, граф не звал меня, – сказал Пьер в то время, как он вышел на площадку, – я пошел бы к себе.
Анна Михайловна остановилась, чтобы поровняться с Пьером.
– Ah, mon ami! – сказала она с тем же жестом, как утром с сыном, дотрогиваясь до его руки: – croyez, que je souffre autant, que vous, mais soyez homme. [Поверьте, я страдаю не меньше вас, но будьте мужчиной.]
– Право, я пойду? – спросил Пьер, ласково чрез очки глядя на Анну Михайловну.
– Ah, mon ami, oubliez les torts qu'on a pu avoir envers vous, pensez que c'est votre pere… peut etre a l'agonie. – Она вздохнула. – Je vous ai tout de suite aime comme mon fils. Fiez vous a moi, Pierre. Je n'oublirai pas vos interets. [Забудьте, друг мой, в чем были против вас неправы. Вспомните, что это ваш отец… Может быть, в агонии. Я тотчас полюбила вас, как сына. Доверьтесь мне, Пьер. Я не забуду ваших интересов.]
Пьер ничего не понимал; опять ему еще сильнее показалось, что всё это так должно быть, и он покорно последовал за Анною Михайловной, уже отворявшею дверь.
Дверь выходила в переднюю заднего хода. В углу сидел старик слуга княжен и вязал чулок. Пьер никогда не был на этой половине, даже не предполагал существования таких покоев. Анна Михайловна спросила у обгонявшей их, с графином на подносе, девушки (назвав ее милой и голубушкой) о здоровье княжен и повлекла Пьера дальше по каменному коридору. Из коридора первая дверь налево вела в жилые комнаты княжен. Горничная, с графином, второпях (как и всё делалось второпях в эту минуту в этом доме) не затворила двери, и Пьер с Анною Михайловной, проходя мимо, невольно заглянули в ту комнату, где, разговаривая, сидели близко друг от друга старшая княжна с князем Васильем. Увидав проходящих, князь Василий сделал нетерпеливое движение и откинулся назад; княжна вскочила и отчаянным жестом изо всей силы хлопнула дверью, затворяя ее.
Жест этот был так не похож на всегдашнее спокойствие княжны, страх, выразившийся на лице князя Василья, был так несвойствен его важности, что Пьер, остановившись, вопросительно, через очки, посмотрел на свою руководительницу.
Анна Михайловна не выразила удивления, она только слегка улыбнулась и вздохнула, как будто показывая, что всего этого она ожидала.
– Soyez homme, mon ami, c'est moi qui veillerai a vos interets, [Будьте мужчиною, друг мой, я же стану блюсти за вашими интересами.] – сказала она в ответ на его взгляд и еще скорее пошла по коридору.
Пьер не понимал, в чем дело, и еще меньше, что значило veiller a vos interets, [блюсти ваши интересы,] но он понимал, что всё это так должно быть. Коридором они вышли в полуосвещенную залу, примыкавшую к приемной графа. Это была одна из тех холодных и роскошных комнат, которые знал Пьер с парадного крыльца. Но и в этой комнате, посередине, стояла пустая ванна и была пролита вода по ковру. Навстречу им вышли на цыпочках, не обращая на них внимания, слуга и причетник с кадилом. Они вошли в знакомую Пьеру приемную с двумя итальянскими окнами, выходом в зимний сад, с большим бюстом и во весь рост портретом Екатерины. Все те же люди, почти в тех же положениях, сидели, перешептываясь, в приемной. Все, смолкнув, оглянулись на вошедшую Анну Михайловну, с ее исплаканным, бледным лицом, и на толстого, большого Пьера, который, опустив голову, покорно следовал за нею.
На лице Анны Михайловны выразилось сознание того, что решительная минута наступила; она, с приемами деловой петербургской дамы, вошла в комнату, не отпуская от себя Пьера, еще смелее, чем утром. Она чувствовала, что так как она ведет за собою того, кого желал видеть умирающий, то прием ее был обеспечен. Быстрым взглядом оглядев всех, бывших в комнате, и заметив графова духовника, она, не то что согнувшись, но сделавшись вдруг меньше ростом, мелкою иноходью подплыла к духовнику и почтительно приняла благословение одного, потом другого духовного лица.
– Слава Богу, что успели, – сказала она духовному лицу, – мы все, родные, так боялись. Вот этот молодой человек – сын графа, – прибавила она тише. – Ужасная минута!
Проговорив эти слова, она подошла к доктору.
– Cher docteur, – сказала она ему, – ce jeune homme est le fils du comte… y a t il de l'espoir? [этот молодой человек – сын графа… Есть ли надежда?]
Доктор молча, быстрым движением возвел кверху глаза и плечи. Анна Михайловна точно таким же движением возвела плечи и глаза, почти закрыв их, вздохнула и отошла от доктора к Пьеру. Она особенно почтительно и нежно грустно обратилась к Пьеру.
– Ayez confiance en Sa misericorde, [Доверьтесь Его милосердию,] – сказала она ему, указав ему диванчик, чтобы сесть подождать ее, сама неслышно направилась к двери, на которую все смотрели, и вслед за чуть слышным звуком этой двери скрылась за нею.
Пьер, решившись во всем повиноваться своей руководительнице, направился к диванчику, который она ему указала. Как только Анна Михайловна скрылась, он заметил, что взгляды всех, бывших в комнате, больше чем с любопытством и с участием устремились на него. Он заметил, что все перешептывались, указывая на него глазами, как будто со страхом и даже с подобострастием. Ему оказывали уважение, какого прежде никогда не оказывали: неизвестная ему дама, которая говорила с духовными лицами, встала с своего места и предложила ему сесть, адъютант поднял уроненную Пьером перчатку и подал ему; доктора почтительно замолкли, когда он проходил мимо их, и посторонились, чтобы дать ему место. Пьер хотел сначала сесть на другое место, чтобы не стеснять даму, хотел сам поднять перчатку и обойти докторов, которые вовсе и не стояли на дороге; но он вдруг почувствовал, что это было бы неприлично, он почувствовал, что он в нынешнюю ночь есть лицо, которое обязано совершить какой то страшный и ожидаемый всеми обряд, и что поэтому он должен был принимать от всех услуги. Он принял молча перчатку от адъютанта, сел на место дамы, положив свои большие руки на симметрично выставленные колени, в наивной позе египетской статуи, и решил про себя, что всё это так именно должно быть и что ему в нынешний вечер, для того чтобы не потеряться и не наделать глупостей, не следует действовать по своим соображениям, а надобно предоставить себя вполне на волю тех, которые руководили им.
Не прошло и двух минут, как князь Василий, в своем кафтане с тремя звездами, величественно, высоко неся голову, вошел в комнату. Он казался похудевшим с утра; глаза его были больше обыкновенного, когда он оглянул комнату и увидал Пьера. Он подошел к нему, взял руку (чего он прежде никогда не делал) и потянул ее книзу, как будто он хотел испытать, крепко ли она держится.