Открыть сервис

Applesoft BASIC

Applesoft BASIC — это диалект языка программирования BASIC, разработанный компанией Microsoft и поставлявшийся в ПЗУ (постоянном запоминающем устройстве) компьютеров Apple II, Apple II Plus и последующих моделей этого семейства. Он пришёл на смену более раннему Integer BASIC, написанному Стивеном Возняком, и стал основным языком для пользовательского программирования на платформе Apple II на протяжении большей части её коммерческой жизни. Отличительной особенностью Applesoft BASIC была поддержка вычислений с плавающей запятой, что делало его более пригодным для научных, инженерных и образовательных задач по сравнению с предшественником, работавшим только с целыми числами.

История

Предпосылки создания

Первая модель компьютера Apple II, выпущенная в 1977 году, имела встроенный интерпретатор Integer BASIC, разработанный сооснователем Apple Стивеном Возняком. Этот язык был быстрым и компактным, но имел существенное ограничение: он мог работать только с целыми числами в диапазоне от -32768 до 32767. Это делало невозможным или крайне неудобным выполнение операций с дробными величинами, что было критически важно для многих прикладных программ, особенно в области математики, физики и бухгалтерского учёта.

Разработка и лицензирование

Осознавая потребность в более мощном языке, руководство Apple обратилось к компании Microsoft, которая к тому времени уже имела опыт создания интерпретаторов BASIC для других платформ, в частности для Altair 8800 (Altair BASIC) и Commodore PET. В 1978 году Microsoft заключила с Apple контракт на разработку версии BASIC с поддержкой чисел с плавающей запятой. Полученный продукт получил название «Applesoft BASIC» (иногда его называют «Applesoft II»). В отличие от Integer BASIC, который был написан целиком Возняком, код Applesoft был создан сотрудниками Microsoft, в первую очередь Марком Чемберленом и Риком Уайеттом.

Выход на рынок и распространение

Первоначально Applesoft BASIC распространялся на кассетах и дискетах как дополнительное программное обеспечение. Однако уже в 1979 году, с выходом модели Apple II Plus, интерпретатор был записан в ПЗУ компьютера. Это сделало его доступным сразу после включения питания, без необходимости загрузки с внешнего носителя. Начиная с этой модели, Applesoft BASIC стал стандартным языком для всех компьютеров семейства Apple II, включая Apple IIe, Apple IIc и Apple IIGS. Integer BASIC, хотя и оставался совместимым, постепенно утратил своё значение.

Технические характеристики и синтаксис

Числа и переменные

Applesoft BASIC поддерживал два типа числовых переменных:

  • Целочисленные переменные (обозначались знаком процента в конце имени, например A%). Диапазон значений: от -32768 до 32767.
  • Переменные с плавающей запятой (без знака процента, например A). Использовалась 5-байтовая (40-битная) мантисса, что обеспечивало точность примерно до 9 десятичных знаков. Диапазон: от 2.93873588E-39 до 1.70141183E+38.

Также поддерживались строковые переменные, обозначаемые знаком доллара (A$), и одномерные/двумерные массивы.

Команды и операторы

Язык включал стандартный для BASIC того времени набор команд, таких как PRINT, INPUT, GOTO, GOSUB, RETURN, FOR...NEXT, IF...THEN...ELSE, DIM, REM и другие. Особенностью Applesoft было отсутствие оператора ELSE в ранних версиях, но он был добавлен в версию, записанную в ПЗУ Apple IIe.

Графика и звук

Applesoft BASIC предоставлял программный доступ к графическим и звуковым возможностям Apple II. Для работы с графикой использовались команды:

  • HGR (High-Resolution Graphics) — переключение в режим высокого разрешения (280x192 пикселя, 6 цветов).
  • HGR2 — второй экран высокого разрешения.
  • HPLOT — рисование точек и линий.
  • HCOLOR — установка цвета.
  • GR — переключение в режим низкого разрешения (40x48 пикселей, 16 цветов).

Для звука использовались команды PEEK и POKE для доступа к звуковому генератору, а также SPEED= для управления скоростью вывода текста, что могло создавать простые звуковые эффекты.

Обработка ошибок

Applesoft BASIC имел встроенную систему обработки ошибок. При возникновении ошибки программа останавливалась, и на экран выводилось сообщение об ошибке (например, ?SYNTAX ERROR или ?DIVISION BY ZERO). Для перехвата ошибок во время выполнения программы использовалась команда ON ERR GOTO.

Применение и значение

Образование и домашние компьютеры

Благодаря тому, что Apple II был одним из самых популярных домашних и школьных компьютеров в США и ряде других стран в 1980-х годах, Applesoft BASIC стал первым языком программирования для миллионов людей. Многие учебные заведения использовали его для обучения основам алгоритмизации и программирования. Простота синтаксиса и интерактивная среда (ввод команды и немедленное выполнение) делали его идеальным для новичков.

Разработка программного обеспечения

Хотя Applesoft BASIC был интерпретатором и работал медленнее, чем скомпилированные программы на ассемблере или машинном коде, он активно использовался для создания прикладного ПО. Многие ранние видеоигры, текстовые редакторы и утилиты для Apple II были написаны именно на нём. Для ускорения работы программ часто использовались подпрограммы на машинном языке, вызываемые из BASIC с помощью команды CALL.

Ограничения

Основными недостатками Applesoft BASIC были:

  • Низкая скорость выполнения по сравнению с компилируемыми языками.
  • Отсутствие структурного программирования (не было процедур, функций с локальными переменными, циклов с условием, кроме FOR...NEXT).
  • Ограниченный размер программы (до 16 КБ в стандартной конфигурации, хотя с помощью расширения памяти можно было увеличить).
  • Неудобство работы с длинными программами из-за отсутствия встроенного редактора с возможностью поиска и замены.

Интересные факты

  • Совместимость с Integer BASIC: Программы, написанные на Integer BASIC, не работали напрямую в Applesoft из-за различий в синтаксисе и обработке чисел. Для запуска старых программ на новых компьютерах Apple выпускала специальный патч или требовалось переписывать код.
  • Влияние на культуру: Applesoft BASIC стал основой для множества книг по программированию, таких как «Applesoft BASIC: A Complete Guide» и «The Applesoft BASIC Handbook». Он также упоминается в художественной литературе и мемуарах, описывающих эпоху первых персональных компьютеров.
  • Эмуляция: Сегодня для запуска программ, написанных на Applesoft BASIC, используются эмуляторы (например, AppleWin), которые позволяют воссоздать работу оригинальных компьютеров Apple II на современных системах.
  • Связь с Microsoft: Успех Applesoft BASIC укрепил позиции Microsoft на рынке программного обеспечения для микрокомпьютеров. Лицензионные отчисления от продажи Apple II сделали Microsoft одним из крупнейших игроков в индустрии.

Источники

  • Weyhrich, Steven. «The Apple II Age: How the Computer Became Personal». — Chicago: University of Chicago Press, 2023.
  • Wozniak, Steve. «iWoz: From Computer Geek to Cult Icon». — W. W. Norton & Company, 2006.
  • «Applesoft BASIC Reference Manual». — Apple Computer, Inc., 1982.
  • «The Applesoft BASIC Handbook». — David A. Lien, 1981.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →