Объявление в газете: «Для ухода за пожилым программистом требуется приятная женщина, говорящая на FORTRAN, BASIC и C++».

Если вам необходимо использовать PROLOG, то подождите пока он будет «проглочен» языком BASIC, этим питоном, пожирающим все, что лежит на его пути. BASIC уже закончил «переваривать» язык Pascal со всеми его управляющими структурами. После небольшой паузы и нескольких отрыжек он будет в состоянии «слопать» PROLOG , так что мы увидим варианты BASIC со встроенным механизмом доказательство теорем методом резолюций Тогда наступит время подумать о возможном переходе на PROLOG.
Р.Форсайт

История создания: Дартмутский проект

BASIC (Beginner’s All-purpose Symbolic Instruction Code — Многоцелевой язык символьных инструкций для начинающих) был разработан в начале 1960-х годов профессорами Дартмутского колледжа Джоном Кемени и Томасом Куртцем.

В то время компьютеры были огромными и дорогими, а работа на них велась в пакетном режиме (подготовил перфокарты — жди результат). Целью создателей было дать студентам не-технических специальностей простой инструмент для работы с ЭВМ через новую систему разделения времени DTSS (Dartmouth Time Sharing System). По замыслу, изучение языка не должно было занимать больше двух часов.

Ключевая дата: В 4 часа утра 1 мая 1964 года в подвале College Hall была запущена первая интерактивная версия BASIC — несколько коротких программ выполнились одновременно, доказав, что система работает.

Интересный факт: Первая опубликованная программа на Dartmouth BASIC выглядела так (в ней даже не требовались номера строк — они появились позже):

LET X = (7 + 8) / 3
PRINT X
END

Сама идея «живого» ввода и мгновенного получения результата была революционной для 1964 года.

От мейнфреймов к микрокомпьютерам (Altair BASIC)

До середины 1970-х BASIC был уделом университетов и мини-ЭВМ. Всё изменилось в 1975 году после выхода Popular Electronics с обложкой Altair 8800.

История гласит: Билл Гейтс и Пол Аллен прочитали статью об Altair и поняли, что компьютеры станут массовыми. Они позвонили в MITS и соврали, что у них уже есть работающий интерпретатор BASIC (на деле они только начали разработку). В результате родился Altair BASIC (впоследствии Microsoft BASIC). Интерпретатор занимал всего 4 КБ памяти и помещался на одной микросхеме ПЗУ, изменив представление о том, что программа может быть встроена прямо в компьютер. Этот продукт стал первым коммерческим успехом компании Micro-Soft (тогда ещё с дефисом).

Именно успех Altair BASIC спровоцировал бум клонов: почти каждая домашняя ЭВМ конца 70-х — начала 80-х (Apple II, Commodore PET, TRS-80, ZX Spectrum) поставлялась со своим диалектом BASIC, вшитым в ПЗУ.

Особенности развития (1960–1978)

Хотя язык развивался, процесс его унификации шёл медленно. Первый стандарт ANSI появился только в 1978 году — к тому моменту компании уже вовсю выпускали свои версии, несовместимые между собой.

Почему возникла несовместимость?
Программы, написанные на AppleSoft BASIC (Apple II), не могли работать на IBM BASIC и наоборот. Причина — каждый производитель адаптировал язык под конкретную платформу, добавлял собственные графические и звуковые команды и часто использовал «токенизированное» хранение, когда команды заменялись байтами для экономии памяти. Кроме того, в ранних версиях (Apple DOS) программа загружалась целиком в память, в то время как более продвинутые интерпретаторы (например, в ZX Spectrum) использовали постраничную подгрузку кода, что отражалось на поведении циклов и условных переходов.

Уровень и философия языка

BASIC прошёл долгий путь от «игрушки для студентов» до языка высокого уровня (1970-е). Фраза «BASIC уже закончил переваривать Pascal» (Р. Форсайт) отражает реальную эволюцию: язык постепенно впитывал структурные конструкции (процедуры, функции, нормальные циклы), которые изначально в нём отсутствовали.

Структура программы (в современных версиях):

Переменные и типы данных

Имя переменной должно начинаться с латинской буквы. Остальные символы — буквы, цифры, иногда точка. Длина — до 255 символов, но значимы первые 40.

Суффиксы, определяющие тип (в Microsoft BASIC):

СуффиксТипПримечание
$Строкадо 255 символов
%Целое-32 767 … 32 767
!Обычная точность6 значащих цифр
#Удвоенная точность16 значащих цифр

По умолчанию (без суффикса) — одинарная точность (!). Переменной можно присвоить значение через LET или без него (a = 5).

Массивы объявляются DIM. Пример: DIM A(3, 3) — двумерный массив 4×4 (индексы от 0). Границы могут задаваться переменными (диалектно).

Операторы и выражения

Арифметические: +, -, *, /, \ (целочисленное деление), ^ (возведение в степень), MOD (остаток от деления).

Отношений: =, <, >, <=, >=, <>. Используйте => как альтернативу >=, где поддерживается.

Логические (в порядке убывания приоритета):
NOTANDORXORIMPEQV. (Порядок в различных реализациях может незначительно отличаться, всегда уточняйте по документации.)

Математические функции:

Управляющие конструкции

Ввод-вывод и графика

Примечание: В ранних версиях (например, в Altair BASIC) не было полноценной работы с файлами, а графика отсутствовала вовсе.

Строковые функции

ASC, CHR$, LEN, MID$, LEFT$, RIGHT$, STR$, VAL.

Дополнительные возможности

Коды ошибок

Код последней ошибки обычно хранится в специальной переменной (например, ERR или PEEK(222)). Во многих реализациях он доступен после оператора ON ERROR. В AppleSoft BASIC код ошибки считывался через PEEK(222) и мог принимать значения, такие как 90 (NEXT без FOR), 133 (деление на ноль), 163 (ошибочный тип) и 254 (введите заново). Конкретные значения зависят от диалекта.

Реализации и диалекты

Зарубежные:

Советские (информация нуждается в подтверждении):

Почему BASIC остаётся актуальным?

Сегодня он живёт в виде Visual Basic for Applications (макросы Excel, Word). Его влияние заметно в таких языках, как Python (простой синтаксис, интерактивный режим). Исторически BASIC выполнил свою миссию: открыл компьютеры для миллионов людей — и не только в США, но и в СССР.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *