stringtranslate.com

Майкрософт БЕЙСИК

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

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

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

Altair BASIC и первые микрокомпьютеры

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

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

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, RETURN, STEP, , 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]

Расширенный БЕЙСИК-80

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

Диск БЕЙСИК-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-битный вариант таблицы размещения файлов (FAT), была адаптация BASIC [nb 1] для NCR 7200 на базе Intel 8080 , [nb 1] 7520 , [nb 1] или 7530 [nb 1]. ] терминал ввода данных с 8-дюймовыми дискетами, 1977/1978 год.

Базовый компилятор

Microsoft предложила компилятор BASIC для BASIC-80 под CP/M к 1980 году или раньше. Исполняемый файл компилятора назывался BASCOM или BASCOM32. [8]

TRS-80 Уровень II/III БАЗОВЫЙ

Компьютер TRS-80 изначально предлагался как адаптация Tiny BASIC Ли-Чэня Вана ( Level 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") была недоступна; программистам и пользователям приходилось разрабатывать собственные обходные пути.

БЕЙСИК-86

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

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

Техасские инструменты БЕЙСИК

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

6502 БАЗОВЫЙ

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

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

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

Более поздние реализации 6502 Basic (1983–) содержали множество улучшений, специфичных для конкретного поставщика; например, более поздние версии Commodore BASIC имели следующее:

БЕЙСИК-68 и БЕЙСИК-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 , другой ОС, доступной на цветном компьютере (Microware также написала версию 2.0 Extended Color BASIC, когда Microsoft отказалась сделай это). Microsoft BASIC также был включен в компьютеры Dragon 32/64, которые производились в Уэльсе и пользовались некоторым ограниченным успехом на рынке домашних компьютеров Великобритании в начале 1980-х годов. Компьютеры Dragon были в некоторой степени совместимы с Tandy TRS-80, поскольку были построены на очень похожем оборудовании.

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#, и VB.NET по-прежнему пользуется популярностью у бывших программистов Visual Basic .

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

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

Смотрите также

Примечания

  1. ^ abcd Источники различаются в отношении первого терминала ввода данных NCR, интегрирующего поддержку файловой системы FAT . По словам Стивена Мэйнса и Пола Эндрюса, «Гейтс», в конце 1977 года разрабатывалась NCR 8200 , которую ошибочно классифицировали как обновление NCR 7200 на дискетах , выпущенное в 1975–1911 годах и построенное на базе 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. ^ Мартин С. Фридсон, Как стать миллиардером: проверенные стратегии титанов богатства , Джон Уайли и сыновья, 1999 ISBN  0-471-33202-X , страницы 116-120
  2. ^ Манес, Стивен (1993). Ворота. Даблдэй. п. 61. ИСБН 9780385420754.
  3. ^ аб Карран, Лоуренс Дж.; Шуфорд, Ричард С. (ноябрь 1983 г.). «Эстридж IBM». БАЙТ . стр. 88–97 . Проверено 19 марта 2016 г.
  4. ^ Черри, Чарльз (июнь 1987 г.). «Базовое золотое дно». Антик . Проверено 4 августа 2019 г.
  5. ^ «Репетитор по ПК». ПК . 13 января 1987 г. п. 325 . Проверено 18 января 2015 г.
  6. ^ Гревстад, Эрик (декабрь 1986 г.). «Лазер 128 / Доступная совместимость». inСидр . п. 58 . Проверено 29 июня 2014 г.
  7. ^ «NCR Mini, Micro среди дебютов, сделанных на конференц-зале NRMA» . Компьютерный мир . 17 января 1977 г. Проверено 4 июня 2014 г.(Упоминается кассетная модель NCR 7200 VI на базе 8080 с NCR Basic Plus 6 (Extended BASIC), которая должна быть поставлена ​​в первом квартале 1977 года. NCR 7200 модель I и модель IV уже были выпущены в 1975-11 годах, но так и не появились. с БЕЙСИКОМ.)
  8. ^ Компилятор Microsoft BASIC 1980
  9. ^ Аб Стейл, Майкл (30 сентября 2008 г.). «Личные пасхальные яйца Билла Гейтса в 8-битном Бейсике». pagetable.com . Проверено 4 февраля 2015 г.
  10. ^ «Каталог программного обеспечения MICROSOFT», c1980, Музей истории компьютеров.
  11. ^ Небольшой базовый блог: Привет, мир
  12. ^ Каковы 14 ключевых слов Small Basic?
  13. ^ Small Basic 1.0 уже здесь!
  14. ^ Небольшая базовая учебная программа
  15. ^ Руководство по началу работы с Small Basic
  16. ^ Маленькие базовые электронные книги
  17. ^ Small Basic - Отзывы учеников начальной и средней школы
  18. ^ Окончание Small Basic

Внешние ссылки