Microsoft BASIC - Microsoft BASIC

Microsoft BASIC
РазработаноMicrosoft
РазработчикMicrosoft
Впервые появился1975 г. (ср. Альтаир БАЗОВЫЙ )
Стабильный выпуск
ср. Visual Basic .NET / 2018

Microsoft BASIC это фундамент программного обеспечения продукт Microsoft компания и превратилась в линию БЕЙСИК-переводчики адаптирован для множества различных микрокомпьютеры. Впервые он появился в 1975 году как Альтаир БАЗОВЫЙ, которая была первой версией БАЗОВЫЙ опубликовано Microsoft, а также первое язык программирования высокого уровня доступен для Альтаир 8800 микрокомпьютер.

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

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

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

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

В Альтаир БАЗОВЫЙ переводчик был разработан основателями Microsoft Пол Аллен и Билл Гейтс используя самодельный Intel 8080 эмулятор, работающий на PDP-10 миникомпьютер.[1] Диалект MS основан на Корпорация цифрового оборудования с БАЗОВЫЙ-ПЛЮС на 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 ), БЕЙСИК-69 (6809 ), и 6502 -БАЗОВЫЙ. 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 находятся в ПЗУ, и поэтому доступны на машинах при включении в виде характеристики "ГОТОВЫ."подсказка. Следовательно, 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 для своего Лазер 128 клон.[6]

Расширенный BASIC-80

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

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

Диск BASIC-80

MBASIC доступен для CP / M-80 и ИГИЛ-II. Также доступно для ТЕКДОС.

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 Уровень II / III БАЗОВЫЙ

Изначально компьютер 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»), было недоступно; программисты и пользователи должны были изобретать свои собственные обходные пути.

ОСНОВНОЙ-86

Первая реализация в качестве автономной языковой системы на основе диска была для Сиэтл Компьютерные продукты Автобус С-100 Карта процессора 8086 в 1979 году. Она использовала 8-битный FAT файловая система.

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

Texas Instruments BASIC

Это версия 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 БАЗОВЫЙ

Microsoft перенесла BASIC-80 на 6502 летом 1976 года; в основном это был прямой порт 8K-версии BASIC-80 и включал те же самые запросы, запрашивающие размер памяти и, хочет ли пользователь, чтобы функции с плавающей запятой были включены или нет (если они активны, использовались дополнительные 135 байтов памяти). Самыми ранними машинами, которые использовали 6502 BASIC, были OSI Модель 500 и КИМ-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 с Технология MOS 6507 CPU в 1983 году[9]

BASIC-68 и BASIC-69

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

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

MSX

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

Современные потомки

Никаких разновидностей Microsoft BASIC (БАЗИКА, GW-BASIC, QuickBasic, QBasic ) в настоящее время распространяется с Майкрософт Виндоус или ДОС. Однако версии, которые все еще будут работать на современных машинах, можно загрузить с различных Интернет-сайтов или найти на старых дисках DOS.

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

В октябре 2008 года Microsoft выпустила Маленький Базовый.[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. ^ а б c d Источники различаются в отношении первого терминала ввода данных NCR, интегрирующего поддержку ЖИР файловая система. Согласно с Стивен Манес и Пола Эндрюса, "Гейтс", разработка была 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 Базовый +6, предшественник или адаптация Microsoft Автономный диск BASIC-80 был доступен для них по крайней мере с 1979 года. Один источник утверждает, что существовал специальный вариант модели NCR 7200 с двумя 8-дюймовыми дискетами и Microsoft BASIC, и что NCR Sydney импортировала его в Австралию меньше всего.

использованная литература

  1. ^ Мартин С. Фридсон, Как стать миллиардером: проверенные стратегии от титанов богатства, Джон Уайли и сыновья, 1999 ISBN  0-471-33202-X страницы 116-120
  2. ^ Манес, Стивен (1993). Ворота. Doubleday. п. 61. ISBN  9780385420754.
  3. ^ а б Карран, Лоуренс Дж., Шфорд, Ричард С. (ноябрь 1983 г.). "Эстридж IBM". БАЙТ. стр. 88–97. Получено 19 марта 2016.CS1 maint: несколько имен: список авторов (ссылка на сайт)
  4. ^ Черри, Чарльз (июнь 1987). "Basic Bonanza". Античный. Получено 2019-08-04.
  5. ^ "Репетитор ПК". ПК. 1987-01-13. п. 325. Получено 18 января 2015.
  6. ^ Гревстад, Эрик (декабрь 1986). «Laser 128 / доступный совместимый». inCider. п. 58. Получено 29 июн 2014.
  7. ^ «NCR Mini, Micro среди дебютов, сделанных на площадке для конференций NRMA». Computerworld. 1977-01-17. Получено 2014-06-04. (Упоминается кассетный NCR 7200 модель VI с NCR Basic Plus 6 (Extended BASIC), который должен быть доставлен в первом квартале 1977 года. В NCR 7200 модель I и модель IV уже были выпущены в 1975-11 годах, но не поставлялись с BASIC.)
  8. ^ Стейл, Майкл (30 сентября 2008 г.). "Персональные пасхальные яйца Билла Гейтса на 8-битном БЕЙСИКЕ". pagetable.com. Получено 4 февраля 2015.
  9. ^ (Реклама) CompuMate Basic Keyboard Enhancer, Страница 7, Electronic Games Magazine (август 1983 г.), Интернет-архив
  10. ^ "Каталог программного обеспечения MICROSOFT", c1980, Музей истории компьютеров
  11. ^ Небольшой базовый блог: 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, см. Внешние ссылки

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