Русская Википедия:Altair BASIC

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Язык программирования

Файл:Altair BASIC Paper Tape.jpg
Altair 8K BASIC на бумажной ленте

Altair BASIC — реализация языка программирования BASIC, исполнявшийся на Altair 8800 и соответствующих компьютерах с шиной S-100. Представлял собой первый программный продукт компании Microsoft (старое название — Micro-Soft).

Altair BASIC представлял собой новую веху в истории программ — первый язык программирования для первого персонального компьютера и первый программный продукт компании Microsoft.

Разработка

Билл Гейтс вспоминает, что когда он и Пол Аллен читали об Altair 8800 в Popular Electronics (январь 1975), они поняли, что цены на компьютеры скоро упадут до такой степени, что продажа программного обеспечения для них станет прибыльным бизнесом.

Гейтс считал, что сделав интерпретатор BASIC для нового компьютера, они могли бы сделать его более привлекательным для любителей. Они связались с Эдвардом Робертсом (основателем MITS) и предложили ему ознакомиться с интерпретатором, который они сейчас разрабатывают. Целью этого разговора служило лишь определение заинтересованности MITS в интерпретаторе. Робертс согласился встретиться с ним через несколько недель (в марте 1975). К этому времени у Гейтса и Аллена не было ни интерпретатора, ни даже компьютера Altair, на котором они могли бы тестировать интерпретатор. Однако от предыдущего проекта у Аллена остался эмулятор Intel 8008 для PDP-10, доступ к которому Microsoft арендовала у Гарвардского университета. Позднее, когда выяснилось, что машинное время компьютера университета использовалось сторонними лицами для разработки коммерческого продукта[1], Гейтс и Аллен были вынуждены арендовать компьютер в Бостоне, чтобы завершить отладку.

Аллен смог адаптировать эмулятор для Altair 8800, имея в распоряжении только лишь «Руководство по программированию» к нему. Они наняли студента Гарвардского университета Монте Давидоффа, который реализовал арифметику чисел с плавающей запятой.

Законченный интерпретатор включал систему ввода-вывода и простейший строковый редактор, занимая при этом всего 4 килобайта. Для демонстрации работы программы компаньоны записали её на перфоленту в формате, который мог прочесть Altair, после чего Аллен направился в Альбукерке на встречу с Робертсом с готовым продуктом. Уже находясь в аэропорту, Аллен понял, что забыл написать загрузчик для чтения содержимого перфоленты в память компьютера. До того, как самолёт приземлился, Аллен успел быстро набросать загрузчик в машинном коде Intel 8080. Лишь на встрече при демонстрации Аллен и Гейтс убедились, что интерпертатор смог загрузиться на настоящем компьютере и вывести запрос команды. Позднее они заключили небольшое пари друг с другом, кто сможет написать более короткий загрузчик, и Гейтс в нём победил[2][3].

Реализация

Робертс согласился распространять интерпретатор вместе с системой Altair 8800, а также заключил договор с Алленом и Гейтсом для поддержки и улучшения BASIC (что вынудило Гейтса оставить обучение в Гарварде). К оригинальной версии, которая позднее получит название 4K BASIC, были добавлены версии 8K BASIC, Extended BASIC, Extended ROM BASIC и Disk BASIC.

Самая базовая версия, 4K BASIC, могла работать на компьютере с ОЗУ объёмом 4 Кбайт и после загрузки оставляла 790 байт для работы пользовательского кода. Чтобы уместиться в такие рамки, версия 4K не имела таких возможностей, как работа со строками и множества арифметических операций. В версии 8K появилось множество улучшений, функций и возможностей; эта версия стала основой для Microsoft BASIC, который был адаптирован для большинства домашних компьютеров 1980-х годов. В Extended BASIC появились базовые команды для работы с диском, а в Disk BASIC этот набор был увеличен для возможности работы с сырым потоком ввода-вывода[4][5].

В октябре 1975 года MITS установила цены на интерпретаторы в 150 (4K), 200 (8K) и 350 (Extended) долларов. Для пользователей, купивших платы расширения Altair, также действовали большие скидки. Продукт распространялся на перфоленте или магнитной ленте[6].

Как Аллен и Гейтс и предполагали, их реализация BASIC оказалось очень популярной среди любителей Altair. Однако, вопреки ожиданиям, продукт оказался не столь прибыльным: пользователи вместо покупки продукта предпочитали делиться копиями интерпретатора между собой. Один из членов Homebrew Computer Club Дэн Сокол, раздобыв предрелизную версию интерпретатора, изготовил 25 копий и распространил их на следующей встрече членов клуба, побуждая распространять копии дальше. Не получая никакого дохода от подобного типа распространения, Гейтс выпустил разгневанное открытое письмо к компьютерному сообществу, приравнивая пользователей, распространявших интерпретатор, к ворам.

Согласно условиям договора, MITS получала права на интерпретатор после того, как выплатит определённую часть отчислений. Microsoft тем временем разработала версии интерпретаторов для других систем, например Motorola 6800. Когда Гейтс и Аллен решили покинуть MITS, возник спор о том, была ли уплачена вся сумма отчислений и распространяется ли соглашение на разработку интерпретатора для других систем. Спор Microsoft и MITS был передан в арбитраж, который, к большому удивлению Робертса, встал на сторону Microsoft на основании того, что MITS не приложила «достаточно усилий», чтобы продавать программу[7]. BASIC оставался основным источником дохода Microsoft до начала 1980-х, когда она перешла к MS-DOS.

Примечания

Шаблон:Примечания

Шаблон:Диалекты языка программирования Basic

  1. Шаблон:Cite book
  2. Шаблон:Cite web
  3. Шаблон:Cite book
  4. Шаблон:Cite web
  5. Шаблон:Cite book Шаблон:Cite web
  6. Altair Basic for the 6800 Шаблон:Webarchive, In January 1978 I purchased Altair 680 Basic from Computer Kits in Berkeley CA. I paid full price, $200, I didn’t want Bill Gates to go broke. If you bought an Altair 680B kit with 16 K of RAM for $685 you would get BASIC for free., Michael Holley’s SWTPC Collection Home Page
  7. Шаблон:Cite book