Jump to content

GW-БЕЙСИК

(Перенаправлено с GW BASIC )
GW-БЕЙСИК
Разработчик Майкрософт
Впервые появился 1983 год ; 41 год назад ( 1983 )
Стабильная версия
3.23 / 1988 ; 36 лет назад ( 1988 )
ТЫ ПРИНАДЛЕЖАЩИЙ
Лицензия Собственный
Лицензия MIT (v1.0) [ 1 ]
Под влиянием
IBM Cassette BASIC , IBM Disk BASIC , IBM BASICA
Под влиянием
QBasic , QuickBasic , MSX BASIC

GW-BASIC — это диалект BASIC, языка программирования разработанный Microsoft на базе IBM BASICA . Функционально идентичный BASICA, его интерпретатор BASIC представляет собой полностью автономный исполняемый файл и не требует наличия кассетного ПЗУ BASIC, имевшегося в оригинальном IBM PC . Он входил в состав MS-DOS операционных систем на IBM PC-совместимых компьютерах от Microsoft.

Язык подходит для простых игр, деловых программ и тому подобного. это был недорогой способ Поскольку он был включен в большинство версий MS-DOS, для многих начинающих программистов изучить основы компьютерного программирования . [ 2 ] [ 3 ] Microsoft также продала компилятор BASIC BASCOM, совместимый с GW-BASIC, для программ, требующих большей скорости.

По словам Марка Джонса Лоренцо, учитывая масштаб языка, «GW-BASIC, возможно, является лучшим из семейства BASIC с нумерацией строк от Microsoft, восходящего к Altair BASIC - и, возможно, даже из BASIC с нумерацией строк в целом». [ 4 ]

С выпуском MS-DOS 5.0 место GW-BASIC занял QBasic , слегка сокращенная версия интерпретаторской части отдельно доступного QuickBASIC . пакета интерпретатора и компилятора [ 5 ]

21 мая 2020 года Microsoft выпустила исходный код ассемблера 8088 для GW-BASIC 1.0 на GitHub под лицензией MIT . [ 1 ]

IBM BASICA и GW-BASIC в основном являются портами MBASIC версии 5.x, но с дополнительными функциями, специально предназначенными для оборудования IBM PC. Общие функции BASIC-80 5.x и BASICA/GW-BASIC включают:

  • WHILE...WEND петли
  • Имена переменных длиной до 40 символов.
  • OPTION BASE оператор для установки начального индекса переменных массива как 0 или 1
  • Динамическое выделение строкового пространства
  • LINE INPUT, что позволяло игнорировать символы-разделители полей, такие как запятая
  • CALL оператор для выполнения процедур машинного языка
  • CHAIN и MERGE команды
  • Возможность сохранять программы либо в токенизированном двоичном формате, либо в текстовом ASCII.

Возможность «сжимать» строки программы путем пропуска пробелов, общая особенность более ранних реализаций Microsoft BASIC, была удалена из BASIC-80 5.x и BASICA/GWBASIC.

Программы BASIC-80 не используются PEEK/ POKE операторы выполняются под GW-BASIC. BASICA добавляет множество функций для IBM PC, таких как звук, графика и команды памяти. Функции, отсутствующие в BASIC-80, включают возможность выполнения RND функция без параметров и возможность также сохранять программы в «защищенном» формате, предотвращая их LISTред. BASICA также позволяет использовать числа двойной точности с математическими и тригонометрическими функциями, такими как COS, SIN, и ATN, что не допускалось в 8-битных версиях BASIC. Обычно эта функция не была включена и требовала дополнительного параметра /D при запуске, т.е. GWBASIC /D. BASIC объем памяти При использовании немного увеличивался.

Microsoft не предлагала общую версию MS-DOS до версии 3.20 в 1986 году; до этого все варианты операционной системы были OEM-версиями. В зависимости от OEM-производителя BASIC распространялся как BASICA.EXE или GWBASIC.EXE. Первый не следует путать с IBM BASICA, который всегда поставлялся в виде COM-файла . Некоторые варианты BASIC имеют дополнительные функции для поддержки конкретной машины. Например, версии DOS для AT&T и Tandy включают специальный GW-BASIC, который поддерживает их расширенные звуковые и графические возможности.

Первоначальная версия GW-BASIC включена в состав Compaq DOS 1.13, выпущенной вместе с Compaq Portable в 1983 году, и была аналогом IBM BASICA 1.10. Он использует блоки управления файлами, производные от CP/M, для доступа к диску и не поддерживает подкаталоги. Более поздние версии поддерживают подкаталоги, улучшенную графику и другие возможности.

GW-BASIC 3.20 (1986) добавляет поддержку графики EGA (ни одна версия BASICA или GW-BASIC не имела поддержки VGA ) и является последней крупной новой версией, выпущенной до того, как она была заменена QBasic .

Покупатели видеокарт Hercules получили специальную версию GW-BASIC на служебном диске карты под названием HBASIC, которая добавляет поддержку монохромной графики 720×348. Другие версии BASICA/GW-BASIC не поддерживают графику Hercules и могут отображать графику на этой карте только с помощью сторонней эмуляции CGA , такой как SIMCGA.

GW-BASIC имеет командной строки (IDE) с поддержкой интегрированную среду разработки , основанную на Dartmouth BASIC . С помощью клавиш перемещения курсора можно редактировать любую строку, отображаемую на экране. Он также включает в себя сочетания клавиш функциональных клавиш в нижней части экрана. Как и в других ранних версиях BASIC для микрокомпьютеров , в GW-BASIC отсутствуют многие структуры, необходимые для структурного программирования , такие как локальные переменные. Программы GW-BASIC выполнялись относительно медленно, поскольку это был интерпретируемый язык . Все строки программы должны быть пронумерованы; все ненумерованные строки считаются командами прямого режима, подлежащими немедленному выполнению. Исходные файлы программы обычно сохраняются в сжатом двоичном формате с токенами , заменяющими ключевые слова, с возможностью сохранения в ASCII . текстовой форме [ 6 ]

В среде командной строки GW-BASIC есть команды для RUN, LOAD, SAVE, LIST текущую программу или выйти в операционную систему SYSTEM; эти команды также могут использоваться как операторы программы. мало поддержки структурного программирования В GW-BASIC . Все IF/ THEN/ ELSE условные операторы должны быть написаны в одну строку, хотя WHILE/ WEND операторы могут группировать несколько строк. Функции можно определить только с помощью одной строки DEF FNf(x)=<mathematical function of x> заявление (например, DEF FNLOG(base,number)=LOG(number)/LOG(base)). Тип данных переменных можно указать с помощью символа в конце имени переменной: A$ представляет собой строку символов, A% является целым числом и т. д. Группам переменных также можно присвоить типы по умолчанию на основе начальной буквы их имени с помощью DEFINT, DEFSTRи т. д., заявления. Тип по умолчанию для необъявленных переменных, не идентифицируемых такими операторами типизации, — это числа с плавающей запятой одинарной точности ( 32-битный MBF ). [ 7 ]

GW-BASIC позволяет использовать устройства ввода с помощью джойстика и светового пера . GW-BASIC может читать и записывать файлы и COM-порты ; он также может выполнять перехват событий для портов. Поскольку интерфейс порта для кассет оригинального IBM PC никогда не был реализован на совместимых компьютерах, операции с кассетами не поддерживаются. GW-BASIC может воспроизводить простую музыку, используя PLAY оператор, которому требуется строка нот, представленная на музыкальном макроязыке , например, PLAY "edcdeeL2edfedL4c". Более низкоуровневый контроль возможен с помощью SOUND оператор, который принимает в качестве аргументов частоту в герцах и длину в тактах для стандартного внутреннего динамика ПК в машинах IBM. Следовательно, звук ограничен одноканальными гудками и свистками, как и положено «бизнес-машине». GW-BASIC для Tandy 1000 позволяет использовать до трех каналов звука для SOUND и PLAY команды. [ 7 ]

Существует несколько теорий о том, что означают инициалы «GW». Грег Уиттен , один из первых сотрудников Microsoft , который разработал стандарты для линейки компиляторов BASIC, говорит, что Билл Гейтс выбрал название GW-BASIC. Уиттен называет ее Gee-Whiz BASIC и не уверен, назвал ли Гейтс программу в его честь. [ 8 ] В Руководстве пользователя Microsoft от Microsoft Press он также упоминается под названием Gee-Whiz BASIC. [ нужна ссылка ] Возможно, его также прозвали Gee-Whiz из-за множества графических команд. [ 8 ] Другие распространенные теории относительно происхождения инициалов включают «Графика и Windows», « Гейтс, Уильям » (в то время президент Microsoft) или «Гейтс-Уиттен» (два главных дизайнера программы). [ 9 ] [ 10 ]

См. также

[ редактировать ]
  1. ^ Jump up to: а б Тернер, Рич. «Майкрософт с открытым исходным кодом GW-BASIC» . Командная строка Windows . Майкрософт . Проверено 22 мая 2020 г.
  2. ^ Добрая Крыса. «ГВ-БЕЙСИК» . Архивировано из оригинала 26 июля 2005 г. Проверено 10 ноября 2009 г.
  3. ^ Леон. «Игры GWBASIC и другие программы» . Архивировано из оригинала 26 октября 2009 г. Проверено 10 ноября 2009 г.
  4. ^ Лоренцо, Марк (2017). Бесконечный цикл: история языка программирования BASIC . Филадельфия: Книги SE. п. 122. ИСБН  978-1974-27707-0 .
  5. ^ «Информация о версии Microsoft BASIC» . Проверено 12 июня 2008 г.
  6. ^ «Документация и утилиты GW-BASIC» . Архивировано из оригинала 17 декабря 2007 г.
  7. ^ Jump up to: а б «Руководство пользователя GW-BASIC» . 1987 год . Проверено 28 июня 2008 г.
  8. ^ Jump up to: а б Грегори Уиттен (13 апреля 2005 г.). «ГВ-БЕЙСИК» . Архивировано из оригинала 20 сентября 2008 г. Проверено 29 июня 2008 г.
  9. ^ «Словарь Linux:G» . Проверено 28 июня 2008 г.
  10. ^ «ГВ-БЕЙСИК» . 13 апреля 2005 г. Архивировано из оригинала 29 июня 2008 г. Проверено 28 июня 2008 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a8dd4a1e976ae88e29609b7ea807ca2e__1714501920
URL1:https://arc.ask3.ru/arc/aa/a8/2e/a8dd4a1e976ae88e29609b7ea807ca2e.html
Заголовок, (Title) документа по адресу, URL1:
GW-BASIC - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)