stringtranslate.com

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

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

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

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

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

Компьютер Altair 8800, собранный в виде набора с популярным телетайпом Model 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.USRDATAREADREMCLEARSTOPTABRESTOREABSENDINTRETURNSTEPGOTOGOSUB

В 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

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

Диск BASIC-80

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

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

Автономный диск BASIC-80

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

компилятор BASIC

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

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

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

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

БАЗОВЫЙ-86

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

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

Texas Instruments БАЗОВЫЙ

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

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

В 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'Electronique. [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, поскольку они были построены на очень похожем оборудовании.

МСХ

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 C# , VB.NET и Visual C++ . [18]

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

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

Примечания

  1. ^ abcd Источники расходятся в отношении первого терминала ввода данных NCR, интегрирующего поддержку файловой системы FAT . По словам Стивена Мэйнса и Пола Эндрюса, «Гейтса», разработка велась для NCR 8200 в конце 1977 года, ошибочно классифицированного как основанное на дискете обновление NCR 7200 , который был выпущен в 1975-11 годах и был построен на базе 8-битного процессора Intel 8080 , но был основан только на кассетах. Однако 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 Sydney в Австралию.

Ссылки

  1. ^ Мартин С. Фридсон, Как стать миллиардером: проверенные стратегии от титанов богатства , John Wiley and Sons, 1999 ISBN  0-471-33202-X страницы 116-120
  2. ^ Манес, Стивен (1993). Гейтс. Doubleday. стр. 61. ISBN 9780385420754.
  3. ^ ab Curran, Lawrence J.; Shuford, Richard S. (ноябрь 1983 г.). «IBM's Estridge». BYTE . стр. 88–97 . Получено 19 марта 2016 г. .
  4. ^ Черри, Чарльз (июнь 1987). "Basic Bonanza". Antic . Получено 04.08.2019 .
  5. ^ "PC Tutor". PC . 1987-01-13. стр. 325. Получено 18 января 2015 г.
  6. ^ Гревстад, Эрик (декабрь 1986 г.). «Лазер 128 / Доступный совместимый». inCider . стр. 58. Получено 29 июня 2014 г.
  7. ^ "NCR Mini, Micro среди дебютов, представленных на съезде NRMA". Computerworld . 1977-01-17 . Получено 2014-06-04 .(Упоминается кассетная модель NCR 7200 VI на базе процессора 8080 с NCR Basic Plus 6 (Extended BASIC), которая должна была быть выпущена в первом квартале 1977 года. Модели NCR 7200 I и IV уже были выпущены в 1975-1911 годах, но не поставлялись с BASIC.)
  8. ^ Компилятор Microsoft BASIC 1980
  9. ^ ab Steil, Michael (30 сентября 2008 г.). «Персональные пасхальные яйца Билла Гейтса в 8-битном BASIC». pagetable.com . Получено 4 февраля 2015 г. .
  10. ^ «Каталог программного обеспечения MICROSOFT», ок. 1980 г., Музей истории компьютеров.
  11. ^ Небольшой базовый блог: Привет, мир
  12. ^ Каковы 14 ключевых слов Small Basic?
  13. ^ Small Basic 1.0 уже здесь!
  14. ^ Малая базовая учебная программа
  15. ^ Краткое руководство по началу работы
  16. ^ Небольшие базовые электронные книги
  17. ^ Small Basic - Отзывы учеников начальной и средней школы
  18. ^ Окончание Малого Базового курса

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