Jump to content

БЕЙСИК-8

БЕЙСИК-8
Парадигма императив
Разработчик Декабрь
Впервые появился 1969 год ; 55 лет назад ( 1969 )
ТЫ ТСС/8
Под влиянием
Дартмут БЕЙСИК
Под влиянием
БЕЙСИК-ПЛЮС , Microsoft БЕЙСИК

BASIC-8 — это язык программирования BASIC для Digital Equipment (DEC) PDP-8 серии миникомпьютеров . Это был первый диалект BASIC, выпущенный компанией, и его успех побудил DEC создать новые BASIC для своих будущих машин, в частности BASIC-PLUS для серии PDP-11 . Принятие DEC BASIC закрепило использование этого языка в качестве стандартного образовательного и служебного языка программирования той эпохи, что в сочетании с небольшими системными требованиями сделало BASIC основным языком во время запуска микрокомпьютеров в середине 1970-х годов.

Дэвид Ал присоединился к расширяющемуся отделу продаж образовательных услуг компании Digital Equipment (DEC) в 1969 году. Основная задача этого подразделения заключалась в продаже PDP-8 миникомпьютера средним школам и колледжам . [1] Они еще не получили широкого распространения; типичная однопользовательская машина конца 1960-х годов стоила порядка 10 000 долларов (что эквивалентно 87 600 долларам в 2023 году), не считая запоминающих устройств и других периферийных устройств . [2] Примерно в это же время и Hewlett-Packard (HP), и Honeywell представили новые 16-разрядные миникомпьютеры с разделением времени , которые становились популярными на образовательных рынках. В частности, 16-битный процессор HP 2100 с HP Time-Shared BASIC был очень популярен, что привело к тому, что HP выпустила его как HP2000 для продаж на рынках программирования и образования. [3] Хотя HP2000 был даже дороже, чем PDP-8, из-за разделения доступа между многими пользователями, обычно до 16 одновременно, эффективная стоимость была намного ниже, чем у однопользовательских машин.

В то время DEC активно продвигала свой собственный язык для образовательных целей — FOCAL , урезанную версию JOSS . Язык имел ряд особенностей, которые позволяли ему работать в чрезвычайно ограниченной памяти, включая 4 КБ основной памяти PDP-8 . Концептуально он был похож на BASIC, особенно в интерактивном методе набора программ и общем расположении программ. Аль собрал программы FOCAL, представленные пользователями, и опубликовал их в информационном бюллетене отдела EDU. [1]

Аль обнаружил, что потенциальные клиенты не интересовались FOCAL, по крайней мере, за пределами Бостона , где располагалась компания DEC. К этому времени BASIC уже широко использовался, и становилась доступной растущая библиотека образовательных программ и игр на BASIC. Они публиковались в формате информационного бюллетеня , почти всегда на диалекте HP2000, а сам объем программ BASIC ошеломлял FOCAL. Аль не обнаружил никакого интереса со стороны руководства DEC или отдела разработки программного обеспечения к созданию BASIC. [2] ни какого-либо интереса к поддержке FOCAL на других машинах в их линейке. Он также отметил растущую враждебность к идее разрешить любой другой компании создавать версию языка. [1]

Придя к выводу, что PDP-8 необходим BASIC, чтобы позволить ему конкурировать на рынке образовательных услуг, он нанял программиста из Бруклина для его разработки. [1] Это стало BASIC-8. Чтобы способствовать ее распространению, Аль лично портировал несколько популярных программ FOCAL, в частности игры Lunar Lander и The Sumerian Game , которые он переименовал в Hamurabi . [4] BASIC-8 сразу же стал бестселлером, и к началу 1970-х годов компания снова стала популярным выбором на образовательных рынках. Компания начала упаковывать системы, аналогичные HP2000, с линейкой Edusystems, адаптированной к различным потребностям. [5]

Хотя DEC продолжала продвигать FOCAL, его использование почти мгновенно прекратилось с выпуском BASIC-8. В конечном итоге DEC предложит пять различных BASIC для PDP-8, каждый из которых компенсирует ограничения исходной минимальной реализации. С выпуском PDP-11 в 1970 году был предложен совершенно новый и значительно расширенный диалект — BASIC-PLUS . [1] Покупатели жаловались на различия между диалектами, но позже Аль утверждал, что, если бы он был приверженцем таких деталей, на выпуск продукции ушло бы еще два года. [2]

Аль также заметил еще один любопытный факт; Когда они начали публиковать информационный бюллетень EDU, они ожидали, что у них будет от 2000 до 3000 подписчиков, примерно по 10 на каждый из 300 образовательных сайтов DEC. За 18 месяцев тираж достиг 20 000 экземпляров, что значительно больше, чем у всех компьютеров в сфере образования. Когда он поинтересовался, то обнаружил, что у многих подписчиков даже не было компьютера, не говоря уже о компьютере DEC, и они читали его в поисках идей о том, как компьютеры можно использовать в образовании. Это привело к раннему рассмотрению вопроса о независимом компьютерном журнале, ориентированном на образование. [2] Неизменно самым популярным разделом EDU были списки BASIC, особенно игры. Это привело к его решению собрать самые популярные программы, особенно Super Star Trek 1973 года , в виде книги под названием «101 BASIC Games» . Были проданы десятки тысяч экземпляров тремя тиражами. [1] [6]

Несмотря на некоторый успех со стороны образовательного подразделения, в начале рецессии 1973–1975 годов DEC решила сократить размер группы. Когда Аль пожаловался, что дивизию следует оставить в покое, его начальник включил его в список людей, подлежащих увольнению . Еще до того, как он получил свою последнюю зарплату, его снова приняли на работу в недавно сформированную группу по производству оборудования. [6] Они выпустили два небольших прототипа компьютеров: один «все в одном», основанный на PDP-8, и немного более крупную систему, основанную на более новом PDP-11 . Другие подразделения компании забеспокоились, что это может повлиять на их собственные продажи, и начали агитацию против этих систем. В конечном итоге это дошло до стола Кена Олсена , который, наконец, заявил, что не может понять, почему кому-то может понадобиться компьютер для личного использования. [6] Проект был убит. [1]

Ал покинул компанию и присоединился к AT&T отделу продаж образовательных услуг . Аль продолжал издавать EDU до того, как покинул DEC, но с его уходом было опубликовано еще только одно или два издания, прежде чем компания отказалась от него. В результате рынок остался за HP, которая к тому времени широко распространяла свои программы BASIC в информационном бюллетене People's Computer Company и в быстро растущей коллекции Minnesota Educational Computing Consortium (MECC). Заметив отсутствие информационного бюллетеня, такого как EDU, предназначенного специально для рынка образования, Ал вскоре основал журнал Creative Computing , а затем покинул AT&T, чтобы выпускать его на постоянной основе. [1] В 1975 году он приобрел у DEC права на 101 BASIC Games и перезапустил ее под названием BASIC Computer Games . Эта книга стала первой компьютерной книгой, проданной миллионным тиражом. [1] [6]

Диалект HP лег в основу многих ранних реализаций BASIC для персональных компьютеров , включая Integer BASIC и Atari BASIC, среди других. Билл Гейтс использовал BASIC-PLUS в старшей школе, и это легло в основу того, что в 1975 году стало Altair BASIC. Продолжающаяся разработка и продажа разновидностей Microsoft BASIC для нескольких платформ привели к тому, что диалект DEC в конечном итоге стал фактическим стандартом на домашних компьютерах. чем версия HP. [1]

Описание

[ редактировать ]

Как и большинство версий BASIC, BASIC-8 мог работать в «немедленном режиме», когда пользователи вводят команды и немедленно получают ответ (как в ручном калькуляторе), или в «отложенном режиме», когда записи сохранялись для последующего выполнения. используя команду RUN. Отложенный режим активируется путем ввода номера строки в начале строки текста. В BASIC-8 номера строк могут варьироваться от 1 до 2046; [7] PDP-8 был 12-битной машиной и обычно содержал значение от -2048 до +2047 в одном слове . [8]

Как это было принято во многих минимальных реализациях BASIC той эпохи, IF операторы могли использоваться только для выполнения ветвления; THEN за ним должен был идти номер строки для перехода, он не мог содержать произвольные операторы, как это было распространено в более поздних версиях BASIC. [9] Таким образом IF X=10 THEN 150 был действительным, IF X=10 THEN X=X+1 не было. Альтернативная форма была IF X=10 GO TO 150. Пробел в GO TO не является обязательным, как это было в некоторых диалектах, либо в IF или как отдельное заявление. [10] Подпрограммы поддерживались с помощью GOSUB...RETURN, [11] но не удалось позвонить из IF заявления. [а] Циклы могут выполняться с помощью IF...THEN или используя FOR...TO...STEP...NEXT. [10]

В отличие от большинства Бейсиков, LET не был обязательным и должен был использоваться во всех заданиях. [12] Имена переменных могут состоять из одной буквы или буквы и одной цифры. [13] DIM может использоваться для определения одномерных и двумерных массивов. [14] Формат чисел с плавающей запятой имел 8 значащих цифр и показатель степени от -38 до +38. [15] Для арифметических операций использовались стандартные математические символы. +, -, *, / и ^ (на телетайпе модели 33 представлен в виде стрелки вверх), [16] и он включал стандартные функции SIN, COS, TAN, ATN, EXP, LOG, ABS, SQR, INT, RND и SGN. [17] Не было поддержки строковых переменных или функций. Булевы сравнения в IF заявления включены =, <, >, >=, <= и <>. [13] DEF FN поддерживался для пользовательских функций. [18]

PRINT поддерживаются как запятые, так и точки с запятой, которые можно использовать для разделения нескольких выходных данных в табличном формате или без пробела соответственно. [19] INPUT поддерживался и мог читать несколько входных данных в одном операторе, но подсказки не поддерживались. [20] Из-за отсутствия команд для работы с файлами любые данные в программе можно было ввести только с помощью DATA утверждения и прочитайте, используя READ. [21] RESTORE вернул READ вернуться к началу DATA список; не было необязательного номера строки, как это видно в некоторых диалектах. [22]

REM, STOP и END завершить список команд. [13]

Выполнение

[ редактировать ]

В отличие от большинства конкурирующих систем на базе миникомпьютеров и ранних домашних компьютеров , где BASIC представлял собой всю среду, видимую пользователю, BASIC-8 был одной из многих программ, которые можно было запускать из командной строки базовой TSS/8. операционной системы система . [23] Таким образом, команды, которые обычно связаны с самим BASIC, например RUN или LIST, не являются частью самого языка, а являются частью оболочки и поэтому не могут использоваться в программах. Это было типично для многих ранних сред BASIC, где редактор и среда выполнения представляли собой совершенно разные программы. [24]

В программы BASIC можно было войти, запустив BASIC-8 из командной строки и набрав, или запустив текстовый редактор, такой как EDIT-8, и набрав код в виде текстового файла. В обоих случаях код BASIC сохранялся в виде чистого текста и сохранял любые дополнительные символы, вводимые пользователем — код можно было вводить без пробелов, чтобы сделать файл более компактным. [7] или добавьте дополнительные пробелы для отступов в циклах. [25]

Когда BASIC был запущен, можно было набрать NEW очистить любую существующую программу или OLD для загрузки существующего файла. В любой момент можно было SAVE рабочий файл или UNSAVE чтобы удалить существующий сохраненный файл. CATALOG выдал список сохраненных файлов программы. [24] LIST распечатал исходный код и может быть ограничен использованием двух значений, разделенных запятыми, для номеров начальной и конечной строк, например LIST 10,200. [26] [б] DELETE удалил ряд строк из программы, RUN начал выполнение и BYE вышел из BASIC и вернулся в командную строку TSS/8. [27]

Внутри система состояла из пяти отдельных подпрограмм, которые загружались по мере необходимости, чтобы минимизировать использование памяти. Это были EDITOR, COMPILER, LOADER, INTERPRETER и ERROR. КОМПИЛЕР не был компилятором в современном смысле этого слова, поскольку он не генерировал язык более низкого уровня ; в современных терминах его можно было бы назвать «токенизатором» или интерфейсом. Его целью было проанализировать исходный код BASIC и преобразовать его в серию «токенов», чисел из одного слова, представляющих различные ключевые слова и команды. Затем результат оставался в памяти, пока INTERPRETER было дано указание начать выполнение полученного токенизированного кода. ERROR отображает номера ошибок в BASIC в текстовый вывод. Таблица в памяти SYPTBA содержала указатели на расположение программ на диске. [28]

Примечания

[ редактировать ]
  1. ^ Альтернативная форма «GO SUB» также не была разрешена.
  2. ^ Синтаксис, разделенный запятыми, использовался в нескольких других диалектах, таких как Atari BASIC , но большинство использовало версию MS BASIC со знаком минус; LIST 10–200.
  1. ^ Jump up to: а б с д и ж г час я дж Ахл 2013 .
  2. ^ Jump up to: а б с д Андерсон 1984 , с. 70.
  3. ^ «Компьютеры Хьюлетт/Паккард» . 2000A была первой системой таймшера HP 2000, представленной на рынке ок. 1969 год
  4. ^ Маккракен, Гарри (29 апреля 2014 г.). «Пятьдесят лет BASIC, языка программирования, сделавшего компьютеры персональными» . Время .
  5. ^ Руководство по образовательной системе (PDF) . ДЕКАБРЬ. Январь 1973 года.
  6. ^ Jump up to: а б с д Андерсон 1984 , с. 72.
  7. ^ Jump up to: а б Руководство 1969 года , с. 2.2.
  8. ^ «Блокбастер DEC: PDP-8» . Музей истории компьютеров .
  9. ^ Руководство 1969 г. , с. 2.15.
  10. ^ Jump up to: а б Руководство 1969 года , с. 2.16.
  11. ^ Руководство 1969 г. , с. 3.6.
  12. ^ Руководство 1969 г. , с. 2.13.
  13. ^ Jump up to: а б с Руководство 1969 года , с. 2.8.
  14. ^ Руководство 1969 г. , стр. 2.11, 2.17.
  15. ^ Руководство 1969 г. , с. 2.7.
  16. ^ Руководство 1969 г. , с. 2.5.
  17. ^ Руководство 1969 г. , с. 2.6.
  18. ^ Руководство 1969 г. , с. 3.5.
  19. ^ Руководство 1969 г. , с. 3.1.
  20. ^ Руководство 1969 г. , с. 3.7.
  21. ^ Руководство 1969 г. , с. 2.4.
  22. ^ Руководство 1969 г. , с. 3.9.
  23. ^ Руководство 1969 г. , с. 1.1.
  24. ^ Jump up to: а б Руководство 1969 года , с. 4.1.
  25. ^ Руководство 1969 г. , с. 2.12.
  26. ^ Руководство 1969 г. , с. 4.2.
  27. ^ Руководство 1969 г. , с. Б.1.
  28. ^ Руководство 1969 г. , с. Д.1.

Библиография

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 97cd37d07e0d7f312e9800b4ad871527__1693756620
URL1:https://arc.ask3.ru/arc/aa/97/27/97cd37d07e0d7f312e9800b4ad871527.html
Заголовок, (Title) документа по адресу, URL1:
BASIC-8 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)