Jump to content

GW-BASIC

(Перенаправлен из GW Basic )
GW-BASIC
Разработчик Microsoft
Впервые появился 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 -это диалект основного языка программирования, разработанного Microsoft от IBM Basica . Функционально идентичный базике, его основной интерпретатор является полностью автономным исполняемым файлом и не нуждается в базовом роме кассета, найденном в оригинале. Он был связан с MS-DOS операционными системами на IBM PC-Compatibles от Microsoft.

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

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

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

21 мая 2020 года Microsoft выпустила исходный код Assembler 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-80 5.x и Basica/Gwbasic.

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

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

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

GW-BASIC 3.20 (1986) добавляет поддержку EGA Graphics (No Version of Basica или GW-BASIC не имела поддержки VGA ) и является последней крупной новой версией, выпущенной до того, как она была заменена QBASIC .

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

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

У среды командной строки GW-базы есть команды 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 никогда не был реализован на совместимых, кассетные операции не поддерживаются. GW-BASIC может играть в простую музыку, используя PLAY Заявление, нуждающаяся в цепочке заметок, представленных на языке музыкальных макросов , например, PLAY "edcdeeL2edfedL4c"Полем Более низкий уровень контроля возможна с SOUND Заявление, которое принимает аргументы частоты в Герце и длину в часах для стандартного внутреннего динамика ПК на машинах IBM. Следовательно, звук ограничен одноканальными звуковыми сигналами и свистками, которые получают «деловую» машину. GW-Basic для Tandy 1000 позволяет до трех каналов звука для SOUND и PLAY команды [ 7 ]

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

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

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