Разработано | Microsoft |
---|---|
Разработчик | Microsoft |
Впервые появился | 1975 (см. Altair BASIC ) |
Стабильный выпуск | ср. Visual Basic .NET / 2018 |
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 BASIC интерпретатор был разработан основателями Microsoft Пол Аллен и Билл Гейтс , используя самодельный Intel 8080 эмулятор работает на PDP-10 миникомпьютер . [1] МС диалект по образцу Digital Equipment Corporation «s BASIC-PLUS на PDP-11 , который использовал ворота в средней школе . [2] Первые версии поддерживали только целочисленную математику, но Монте Давидофф убедил их, что арифметика с плавающей запятой возможна, и написал библиотеку, которая сталаДвоичный формат Microsoft .
Альтаир БЕЙСИК поставлялся на бумажной ленте и в исходном варианте занимал 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]
Известные варианты:
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, но полный набор команд не поддерживается.
Первая реализацией использовать 8-битный вариант из таблицы размещения файлов была базовой адаптацией [NB 1] для Intel 8080 основанного NCR 7200 , [NB 1] 7520 [NB 1] или 7530 [NB 1] ввода данных терминал с 8-дюймовыми дискетами в 1977/1978 гг.
Компьютер 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"), было недоступно;программисты и пользователи должны были изобретать свои собственные обходные пути.
Первой реализацией в качестве автономной языковой системы на основе диска была карта процессора Seattle Computer Products S-100 bus 8086 в 1979 году. В ней использовалась 8-битная файловая система FAT .
Microsoft также предложила версию Standalone BASIC-86 для SBC-86/12 для платформы одноплатного компьютера Intel 8086 в 1980 году.
Это версия 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).
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 включают:
6502 BASIC не обладал стандартизированным набором команд для вывода на диск и принтер; их должен был добавить поставщик, и они широко варьировались в зависимости от реализации.
Более поздние реализации 6502 Basic (1983–) были улучшены во многих аспектах. В то время как ранние машины Commodore (VIC-20, C64) имели BASIC, очень близкий к 6502 MS BASIC, более поздние 8-битные машины Commodore (серия C = 264, PET и C = 128 назывались V3.5, V4.0 и V7. 0) внесены многочисленные улучшения, которые сделали BASIC более полезным и удобным для пользователя:
Каталоги 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 отказалась сделай это).
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]