Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Microsoft BASIC - это базовый программный продукт компании Microsoft, который превратился в линейку интерпретаторов BASIC, адаптированных для множества различных микрокомпьютеров . Впервые он появился в 1975 году как Altair BASIC , который был первой версией BASIC, опубликованной Microsoft, а также первым языком программирования высокого уровня, доступным для микрокомпьютера Altair 8800 .

Во время повального увлечения домашними компьютерами в конце 1970-х - начале 1980-х годов Microsoft BASIC был перенесен и поставлялся практически со всеми компьютерными разработками. Незначительные изменения для добавления поддержки машинно-зависимых функций, особенно графики, привели к появлению множества связанных проектов, таких как Commodore BASIC и Atari Microsoft BASIC .

Когда первые домашние компьютеры уступили место более новым разработкам, таким как персональный компьютер IBM и Apple Macintosh , BASIC больше не использовался так широко, хотя и сохранил сильных сторонников. Выпуск Visual Basic возродил его популярность, и он по-прежнему широко используется на платформах Microsoft Windows в своем последнем воплощении, Visual Basic .NET.

Альтаир БЕЙСИК и ранние микрокомпьютеры [ править ]

Комплектный компьютер Altair 8800 с популярным телетайпом Model 33 ASR (автоматическая отправка и получение) в качестве терминала, устройства чтения бумажной ленты и перфоратора для бумажной ленты.

Altair BASIC интерпретатор был разработан основателями Microsoft Пол Аллен и Билл Гейтс , используя самодельный Intel 8080 эмулятор работает на PDP-10 миникомпьютер . [1] МС диалект по образцу Digital Equipment Corporation «s BASIC-PLUS на PDP-11 , который использовал ворота в средней школе . [2] Первые версии поддерживали только целочисленную математику, но Монте Давидофф убедил их, что арифметика с плавающей запятой возможна, и написал библиотеку, которая сталаДвоичный формат Microsoft .

Altair BASIC поставлялся на бумажной ленте и в исходном варианте занимал 4  КБ памяти. Доступны следующие функции и операторы:

LIST, NEW, PRINT, INPUT, IF ... THEN, FOR ... NEXT, SQR, RND, SIN, LET, USR, DATA, READ, REM, CLEAR, STOP, TAB, RESTORE, ABS, END, INT, ВОЗВРАТ, ШАГ, GOTO и GOSUB . 

В 4k BASIC не было строковых переменных, и единственным поддерживаемым числовым типом была 32-битная плавающая точка одинарной точности. Имена переменных состоят из одной буквы (A – Z) или одной буквы, за которой следует одна цифра (0–9), что позволяет использовать до 286 числовых переменных.

Для машин с большим объемом памяти в версию 8 КБ добавлен 31 дополнительный оператор и поддержка строковых переменных и связанных с ними операций, таких как MID $ и конкатенация строк . Строковые переменные обозначались суффиксом $, который остался в более поздних версиях языка. Позже Microsoft выпустила 12K Extended BASIC, который включал 64-битные переменные двойной точности, структуры IF ... THEN ... ELSE, пользовательские функции, более сложные команды редактирования программы и описательные сообщения об ошибках, а не номера ошибок. Числовые переменные теперь имеют три основных типа:% обозначает 16-разрядные целые числа, # обозначает 64-разрядные числа с двойной точностью и! обозначает 32-битные одиночные игры, но это был формат по умолчанию, поэтому! редко встречается в программах.

Расширенная версия 8 КБ была затем обобщена в BASIC-80 (8080/85, Z80 ) и перенесена в BASIC-68 ( 6800 ), BASIC-69 ( 6809 ) и 6502 -BASIC. 6502 имел несколько менее плотный ассемблерный код и был увеличен в размере до 8 КБ для версии с одинарной точностью или 9 КБ для версии, использующей промежуточный 40-разрядный формат с плавающей запятой вместо исходной 32-разрядной версии. Этот новый 40-битный формат стал наиболее распространенным, так как он использовался на большинстве машин того времени на базе 6502. Он также был перенесен на 16-битный BASIC-86 ( 8086/88 ).

Последним основным выпуском BASIC-80 была версия 5.x, которая появилась в 1981 году и добавила поддержку 40-символьных имен переменных, циклов WHILE ... WEND, динамического распределения строк и некоторых других функций. В BASIC 5.x удалена возможность перехвата программных строк.

Основной набор команд и синтаксис одинаковы во всех реализациях Microsoft BASIC, и, вообще говоря, программу можно запускать в любой версии, если она не использует аппаратно-зависимые функции или числа с двойной точностью (не поддерживаются в некоторых реализациях).

Лицензии производителям домашних компьютеров [ править ]

После первоначального успеха Altair BASIC, Microsoft BASIC стал основой для прибыльного бизнеса по лицензированию программного обеспечения, который был перенесен на большинство многочисленных домашних и других персональных компьютеров 1970-х и особенно 1980-х годов и постепенно расширялся. В отличие от оригинального Altair BASIC, большинство домашних компьютеров BASIC находятся в ПЗУ и, таким образом, доступны на машинах при включении в виде характерной READY.подсказки " ". Следовательно, Microsoft и другие варианты BASIC составляют значительную и видимую часть пользовательского интерфейса рудиментарных операционных систем многих домашних компьютеров .

К 1981 году Microsoft BASIC был настолько популярен , что даже компании , которые уже имели BASIC лицензии на языке, такие как IBM для своего персонального компьютера , [3] и Atari , который продал как Atari Microsoft BASIC и его собственный Atari BASIC . [4] Дон Эстридж из IBM сказал: «У Microsoft BASIC были сотни тысяч пользователей по всему миру. Как вы собираетесь с этим спорить?» [3] Microsoft лицензировала аналогичные версии компаниям, которые конкурировали друг с другом. После лицензирования IBM Advanced BASIC (BASICA), например, для IBM, Microsoft лицензировала совместимый GW-BASICпроизводителям клонов ПК , а также продавал копии розничным покупателям. [5] Компания также лицензировала совместимый с Applesoft BASIC компании VTech для своего клона Laser 128 . [6]

Расширенный BASIC-80 [ править ]

  • Мандарин Микротан 65
  • Spectravideo SV-318 и SV-328

Известные варианты:

  • NCR Basic Plus 6 , выпущенный в первом квартале 1977 года для терминала ввода данных модели VI NCR 7200 . [7] Адаптация Microsoft Extended BASIC-80 была проведена Марком Макдональдом в 1976/1977 годах.

Диск BASIC-80 [ править ]

MBASIC доступен для CP / M-80 и ISIS-II . Также доступно для TEKDOS .

MBASIC - это упрощенный BASIC-80 с аппаратно-нейтральными функциями. Однако из-за популярности CP / M подавляющее большинство машин Z80 работало с MBASIC, а не с версией, настроенной для конкретного оборудования (TRS-80 BASIC был одним из немногих исключений). Карта Microsoft CP / M для Apple II включала модифицированную версию MBASIC, в которую были включены некоторые графические команды из Applesoft BASIC, такие как HPLOT, но полный набор команд не поддерживается.

Автономный диск BASIC-80 [ править ]

Первая реализацией использовать 8-битный вариант из таблицы размещения файлов была базовой адаптацией [NB 1] для Intel 8080 основанного NCR 7200 , [NB 1] 7520 [NB 1] или 7530 [NB 1] ввода данных терминал с 8-дюймовыми дискетами в 1977/1978 гг.

TRS-80 Level II / III BASIC [ править ]

Компьютер TRS-80 изначально предлагался с адаптацией Tiny BASIC Ван Чен Ли ( уровень I BASIC ); через несколько месяцев он был заменен портом BASIC-80, который включал в себя часть набора команд BASIC уровня I, в частности, команды для установки графических символов. Уровень II BASIC содержал некоторые функции Extended BASIC, хотя из-за необходимости включения команд уровня I, таких как SET и PSET, другие функции, такие как описательные сообщения об ошибках, по-прежнему оставались в стороне; впоследствии они были добавлены в TRS-80 Disk BASIC.

TRS-80 Model 4 имеет более новый дисковый BASIC, который использует ядро ​​BASIC-80 5.x, которое включает поддержку 40-символьных имен переменных. Таким образом, возможность обрабатывать строки программы (без пробелов между ключевыми словами и аргументами) была больше невозможна, как это было на уровне II. Больше не было необходимости резервировать строковое пространство. Новые возможности включали определяемые пользователем функции (DEF FN) и доступ к системным функциям TRSDOS 6 через ключевое слово SYSTEM. Измененная версия, опубликованная позже компанией Logical Systems, поставщиком ОС, в обновлении LS-DOS версии 6.3, добавила однобуквенный доступ к функциям управления BASIC (например, LIST и EDIT) и прямой доступ к вызовам супервизора LS-DOS. Среда редактирования программы по-прежнему была линейно-ориентированной. Средство, доступное на уровне II для сортировки массивов (CMD «O»), было недоступно;программисты и пользователи должны были изобретать свои собственные обходные пути.

BASIC-86 [ править ]

Первой реализацией в качестве автономной языковой системы на основе диска была карта процессора Seattle Computer Products S-100 bus 8086 в 1979 году. В ней использовалась 8-битная файловая система FAT .

Microsoft также предложила версию Standalone BASIC-86 для SBC-86/12 для платформы одноплатного компьютера Intel 8086 в 1980 году.

ОСНОВНЫЕ НАПРАВЛЕНИЯ Texas Instruments [ править ]

Это версия BASIC, используемая в компьютерной линейке Texas Instruments TI-99 / 4A. Хотя очень похож на Microsoft BASIC, TI-99/4 BASIC не был написан Microsoft, как ходили слухи. По словам инженера TI Х. Шурмана; «С ними (в виде Боба Гринберга из Microsoft) был заключен контракт на разработку BASIC для SR-70 (который также иногда называют 99/7), но BASIC для 99/4 был разработан собственными силами. ' Ti-99/4 BASIC основан на Dartmouth Basic и соответствует американскому национальному стандарту для минимального базового уровня (ANSI X3.60-1978).

6502 BASIC [ править ]

Microsoft перенесла BASIC-80 на 6502 летом 1976 года; в основном это был прямой порт 8K-версии BASIC-80 и включал те же самые запросы, запрашивающие размер памяти и, хочет ли пользователь, чтобы функции с плавающей запятой были включены или нет (если они активны, использовались дополнительные 135 байтов памяти). Самыми ранними машинами, которые использовали 6502 BASIC, были OSI Model 500 и KIM-1 в 1977 г. [8]6502 BASIC включал некоторые функции из Extended BASIC, такие как определяемые пользователем функции и описательные сообщения об ошибках, но опускал другие функции, такие как переменные с двойной точностью и оператор PRINT USING. В качестве компенсации за отсутствие переменных с двойной точностью Microsoft включила поддержку 40-битных чисел с плавающей запятой вместо 32-битных чисел с плавающей запятой в BASIC-80, а выделение строк было динамическим (таким образом, пользователю не приходилось резервировать строковое пространство, как в BASIC-80). Однако производители все еще могут запросить BASIC с 32-битной плавающей точкой для немного меньшего объема памяти; Например, Disk BASIC для 8-битной Atari использует 32-битную плавающую точку, а не 40-битную.

Стандартные функции 9K-версии Microsoft 6502 BASIC включают:

  • Оператор GET для обнаружения нажатия клавиши.
  • Перемалывание строк - строки программы не требуют никаких пробелов, кроме номера строки и оператора.
  • Поддерживаются только типы переменных: строковые, одинарной точности и целые числа (только для массивов).
  • Длинные имена переменных не поддерживаются, распознаются только первые два символа.
  • Динамическое выделение строк.

6502 BASIC не содержал стандартизированного набора команд для вывода на диск и принтер; их должен был добавить поставщик, и они широко варьировались в зависимости от реализации.

Более поздние реализации 6502 Basic (1983–) были улучшены во многих аспектах. В то время как ранние машины Commodore (VIC-20, C64) имели BASIC, очень близкий к 6502 MS BASIC, более поздние 8-битные машины Commodore (серии C = 64, PET и C = 128 назывались V3.5, V4.0 и V7. 0) внесены многочисленные улучшения, чтобы сделать BASIC более полезным и удобным для пользователя:

  • Дисковые команды (DIRECTORY, DSAVE, DLOAD, BACKUP, HEADER, SCRATCH, COLLECT, DVERIFY, COPY, DELETE, RENAME и т. Д.)
  • Графические команды (CIRCLE, DRAW, BOX, COLOR (фона, границы и т. Д.), PAINT, SCALE)
  • Копирование графического блока и логическая работа с существующим графическим экраном (SSHAPE и GSHAPE с OR, AND, XOR и т. Д.)
  • Команды определения, отображения и анимации спрайтов на C128, даже сохранение спрайтов в двоичные файлы
  • Звуковые команды (VOL, SOUND), позже при C = 128 Музыкальные команды (программирование фильтров ADSR и SID (ENVELOPE и FILTER), команды PLAY, TEMPO)
  • Признаки более структурированного программирования: IF – THEN – ELSE, DO – LOOP – WHILE / UNTIL – EXIT, ON – GOSUB.
  • Расширенные команды ввода / вывода для специальных функций: JOY, функциональные клавиши
  • Команды отладки: STOP, CONT, TRON, TROFF, RESUME
  • Расширенная обработка экрана персонажа: ОКНО
  • Поддержка более простой разработки программ: RENUMBER, NEW, MONITOR, RREG
  • Spectravideo CompuMate на Atari 2600 «s MOS Technology 6507 CPU в 1983 году [9]

BASIC-68 и BASIC-69 [ править ]

Каталоги Microsoft 1980-х годов также показали наличие BASIC-68 и BASIC-69 для микропроцессоров Motorola 6800 и 6809 соответственно, работающих под управлением операционных систем FLEX , а также упомянули OEM-версии для Perkin-Elmer , Ohio Nuclear , Pertec и Societe Occitane d. «Электронные системы. [10] Похоже, что это то, что также является основой Microsoft / Epson BASIC в портативном компьютере Epson HX-20 , который имеет два процессора Hitachi 6301, которые, по сути, являются «усиленными» 6801. Большинство основных функций в BASIC-68 и BASIC-69 были скопированы прямо из BASIC-80. [оригинальное исследование? ]

BASIC-69 также был лицензирован для Tandy, где он стал ядром Color BASIC на Цветном компьютере TRS-80 . [ необходима цитата ] Не путать с BASIC09 , совершенно другим BASIC, созданным Microware в качестве основного языка для его OS-9 , другой ОС, доступной на Color Computer (Microware также написала версию 2.0 Extended Color BASIC, когда Microsoft отказалась сделай это).

MSX [ править ]

Microsoft произвела основанный на ПЗУ MSX BASIC для использования в домашних компьютерах MSX , которые использовали процессор Z80. Эта версия поддерживала графические и звуковые системы компьютеров MSX; в некоторых вариантах также была поддержка дисководов.

Современные потомки [ править ]

Никакая разновидность Microsoft BASIC ( BASICA , GW-BASIC , QuickBasic , QBasic ) в настоящее время не распространяется с Microsoft Windows или DOS . Однако версии, которые все еще будут работать на современных машинах, можно загрузить с различных Интернет-сайтов или найти на старых дисках DOS.

Последним воплощением Microsoft BASIC является Visual Basic .NET , который включает в себя некоторые функции C ++ и C # и может использоваться для разработки веб-форм, форм Windows, консольных приложений и серверных приложений. Большинство примеров кода .NET представлены как на VB.NET, так и на C #, и бывшие программисты Visual Basic по-прежнему отдают предпочтение VB.NET .

В октябре 2008 года Microsoft выпустила Small Basic . [11] В языке всего 14 ключевых слов. [12] Small Basic Version 1.0 (12 июня 2011 г.) [13] был выпущен вместе с обновленным веб-сайтом Microsoft MSDN, который включал полную учебную программу для учителей [14] , руководство по началу работы [15] и несколько электронных книг. [16] Small Basic существует, чтобы помочь студентам в возрасте восьми лет [17] изучить основы компьютерного программирования, а затем перейти на Visual Basic с помощью загружаемого программного обеспечения Visual Studio Express , где они могут продолжить работу на основе изучения Visual. C # ,VB.NET и Visual C ++ . [18]

Варианты и производные Microsoft BASIC [ править ]

  • Altair BASIC (MITS Altair и другие компьютеры S-100)
  • Amiga BASIC (семейство Commodore Amiga)
  • Applesoft BASIC (семейство Apple II)
  • Atari Microsoft BASIC I и II (семейство 8-битных Atari)
  • BASICA («BASIC Advanced») (PC DOS, на IBM PC)
  • Color BASIC (Цветной компьютер TRS-80)
  • Commodore BASIC (8-битное семейство Commodore, включая C64)
  • Oric Extended Basic ( 8-битное семейство Oric ) [19]
  • Color BASIC и Disk Extended Color BASIC (TRS-80 Color Computer и Dragon 32/64 )
  • IBM Cassette BASIC (оригинальный IBM PC, встроенный в ПЗУ)
  • Galaksija BASIC (домашний компьютер Galaksija)
  • GW-BASIC (BASICA для MS-DOS, на ПК-совместимых)
  • Базовый уровень Microsoft III (Tandy / Radio-Shack TRS-80)
  • Basic 1.0 (семейство компьютеров Thomson)
  • MBASIC (CP / M, на компьютерах на базе 8080/85 и Z80)
  • MS BASIC для Macintosh (Mac OS на Apple Macintosh)
  • MSX BASIC (стандартные домашние компьютеры MSX)
  • N88-BASIC (NEC PC8801 / 9801)
  • N82-BASIC ( NEC PC-8201 / 8201A , TRS-80 модель 100 )
  • QBasic (PC DOS / MS-DOS на IBM PC и совместимые)
  • QuickBASIC (PC MS-DOS на IBM PC и совместимые)
  • Small Basic (MS Windows на IBM PC и совместимые)
  • TRS-80 Уровень II BASIC (Tandy / Radio-Shack TRS-80 )
  • Visual Basic (PC DOS / MS-DOS / MS Windows на IBM PC и совместимые)
  • Базовые видеотехнологии (Laser 350/500/700)
  • WordBasic (до VBA ) (MS Windows)
  • HP2640 Программируемый терминал HP2647 с графическими расширениями AGL
  • FreeBASIC  - бесплатный клон системы QuickBasic
  • Gambas  - бесплатная реализация, вдохновленная Visual Basic

См. Также [ править ]

  • Локомотив BASIC
  • Atari BASIC
  • Целое число BASIC
  • Tiny BASIC
  • BBC BASIC
  • Открытое письмо любителям

Примечания [ править ]

  1. ^ a b c d Источники различаются в отношении первого терминала ввода данных NCR, который поддерживает файловую систему FAT . По словам Стивена Мейнса и Пола Эндрюса, «Гейтс», разработка была для NCR 8200 в конце 1977 года, ошибочно классифицированная как обновление на дискетах для NCR 7200 , выпущенного в 1975-11 годах и построенного на базе Intel 8080. 8-битный процессор, но только кассетный. Однако NCR Century 8200 был 16-битным миникомпьютером, к которому можно было подключить несколько терминалов ввода данных. Марк Макдональд даже вспомнил про NCR 8500, мэйнфрейм серии Criterion, которые тоже можно исключить. Другие источники указывают, что фактической целевой платформой был либо сам NCR 7200, либо его преемник. Серия NCR 7500 была выпущена в 1978 году на основе аналогичного оборудования 8080, но теперь включает модели NCR 7520 и 7530 с 8-дюймовыми дискетами. NCR Basic +6 , предшественник или адаптация Microsoft Standalone Disk BASIC-80, был доступен для них по крайней мере с 1979 года. Один источник утверждает, что существовал специальный вариант модели NCR 7200 с двумя 8-дюймовыми дискетами и Microsoft BASIC, который был импортирован NCR. Сидней в Австралии меньше всего.

Ссылки [ править ]

  1. ^ Мартин С. Фридсон, Как стать миллиардером: проверенные стратегии от титанов богатства , John Wiley and Sons, 1999 ISBN  0-471-33202-X, страницы 116-120
  2. Перейти ↑ Manes, Stephen (1993). Ворота . Doubleday. п. 61. ISBN 9780385420754.
  3. ^ a b Карран, Лоуренс Дж., Шфорд, Ричард С. (ноябрь 1983 г.). "Эстридж IBM" . БАЙТ . С. 88–97 . Проверено 19 марта 2016 .CS1 maint: несколько имен: список авторов ( ссылка )
  4. ^ Черри, Чарльз (июнь 1987). «Базовое чудо» . Античный . Проверено 4 августа 2019 .
  5. ^ "Наставник ПК" . ПК . 1987-01-13. п. 325 . Проверено 18 января 2015 .
  6. ^ Grevstad, Эрик (декабрь 1986). «Laser 128 / Доступное совместимое устройство» . inCider . п. 58 . Проверено 29 июня 2014 года .
  7. ^ «NCR Mini, Micro среди дебютов, сделанных на площадке NRMA Convention» . Компьютерный мир . 1977-01-17 . Проверено 4 июня 2014 .(Упоминается кассетная модель NCR 7200 VI на базе 8080 с NCR Basic Plus 6 (Extended BASIC), которая должна быть поставлена ​​в первом квартале 1977 года. NCR 7200 модель I и модель IV уже были выпущены в 1975-11 годах, но так и не вышли. с BASIC.)
  8. ^ Steil, Майкл (30 сентября 2008). «Личные пасхальные яйца Билла Гейтса на 8-битном БЕЙСИКЕ» . pagetable.com . Проверено 4 февраля 2015 года .
  9. ^ (Реклама) CompuMate Basic Keyboard Enhancer , страница 7, Electronic Games Magazine (август 1983), Интернет-архив
  10. ^ "Каталог программного обеспечения MICROSOFT" , c1980, Музей истории компьютеров
  11. ^ Блог Small Basic: Hello World
  12. ^ Каковы 14 ключевых слов в Small Basic?
  13. ^ Small Basic 1.0 уже здесь!
  14. ^ Небольшая базовая учебная программа
  15. ^ Руководство по началу работы с Small Basic
  16. ^ Небольшие базовые электронные книги
  17. ^ Small Basic - Отзывы учащихся начальной и средней школы
  18. ^ Окончание Small Basic
  19. ^ Microsoft BASIC 6502 Timeline, личные пасхальные яйца Билла Гейтса на 8-битном BASIC, см. Внешние ссылки

Внешние ссылки [ править ]

  • Личные пасхальные яйца Билла Гейтса на 8-битном BASIC