BASIC
🕛 18.02.2008, 18:11
Язык программированияБе́йсик (BASIC - сокращение от англ. Beginner's All-purpose Symbolic Instruction Code - универсальный код символических инструкций для начинающих; англ. basic - основной, базовый) - семейство высокоуровневых языков программирования.
Бейсик был придуман в 1963 году преподавателями Дартмутского Колледжа Джоном Кемени и Томасом Куртцом, и под их руководством был реализован командой студентов колледжа. Со временем, когда стали появляться другие диалекты, этот «изначальный» диалект стали называть Dartmouth BASIC.
Бейсик был спроектирован так, чтобы студенты могли писать программы, используя терминалы с разделением времени. Он создавался как решение для проблем, связанных со сложностью более старых языков, предназначался для более «простых» пользователей, не столько заинтересованных в скорости программ, сколько просто в возможности использовать компьютер для решения своих задач.
При проектировании языка использовались следующие восемь принципов:
* быть простым в использовании для начинающих * быть языком программирования общего назначения * предоставлять возможность расширения функциональности, доступную опытным программистам * быть интерактивным * предоставлять ясные сообщения об ошибках * быстро работать на небольших программах * не требовать понимания работы аппаратного обеспечения * быть посредником меду пользователем и операционной системой
Язык был основан частично на Фортран II и частично на Алгол-60, с добавлениями, делающими его удобным для работы в режиме разделения времени, обработки текста и матричной арифметики. Первоначально Бейсик был реализован на GE-265 с поддержкой множества терминалов. Вопреки распространённому убеждению, в момент своего появления это был компилируемый язык.
Всеобщую же популярность язык получил с его появления на микрокомпьютере Altair 8800. Многие языки программирования были слишком громоздкими, чтобы умещаться в небольшой памяти. Для машин с таким медленным носителем как бумажная лента, аудиокассета и без подходящего текстового редактора такой небольшой язык как Бейсик был отличной находкой.
В 1975 году Майкрософт (тогда это были лишь двое - Билл Гейтс и Пол Аллен, при участии Монте Давидова) выпустила Altair BASIC. Для операционной системы CP/M был создан диалект BASIC-80, надолго определивший развитие языка.
В этот период было создано несколько новых версий Бейсика. Майкрософт продавала несколько версий BASIC для MS-DOS/PC-DOS, включая BASICA, GWBASIC и Quick BASIC (QBASIC).Компания Borland в 1985 выпустила Turbo BASIC 1.0 (его наследники впоследствии продавались другой компанией под именем PowerBASIC). На домашних компьютерах появились различные расширения Бейсика, обычно включающие средства для работы с графикой, звуком, выполнением DOS-команд, а также средства структурного программирования. Некоторые другие языки использовали хорошо известный синтаксис Бейсика в качестве основы, на которой строилась совершенно иная система (см. например, GRASS).
Однако, начиная с конца 80-х, новые компьютеры стали намного более сложными и предоставляли возможности (такие как графический интерфейс пользователя), которые делали Бейсик уже не столь удобным для программирования. Бейсик начал сдавать свои позиции, несмотря на то, что огромное количество его версий ещё использовалось и продавалось.
Вторую жизнь Бейсик получил с появлением Visual Basic от Microsoft. Он стал одним из наиболее часто используемых языков на платформе Microsoft Windows. Позже был создан вариант под названием WordBasic, используемый в MS Word до появления Word 97. Вариант Visual Basic for Applications (VBA) был встроен в Excel 5.0 в 1993 году, затем в Access 95 в 1995-ом, а после и во все остальные инструменты, входящие в пакет Office - в 1997-ом. Internet Explorer 3.0 и выше, а также Microsoft Outlook включали интерпретатор языка VBScript. В полный вариант пакета OpenOffice.org также включён интерпретатор Бейсика.
Элементы синтаксиса:
Комментарий до конца строки
'
Регистрозависимость
Нет
Регулярное выражение идентификатора переменной
[_a-zA-Zа-яёщА-ЯЁЩ][_a-zA-Zа-яёщА-ЯЁЩ0-9]*
Регулярное выражение идентификатора функции
[_a-zA-Zа-яёщА-ЯЁЩ][_a-zA-Zа-яёщА-ЯЁЩ0-9]*
Присваивание значения переменной
=
Объявление переменной
Dim variable
Группировка выражений
()
Равенство
= или ==
Неравенство
<> или ><
Сравнение
= < > <= =< >= => <>
Вызов функции
Call f(a,b...)
Если - то
if condition then ... end if
Если - то - иначе
if condition then ... else ... end if
Бесконечный цикл
while condition ... wend
Цикл for - next для диапазона чисел с инкрементом на 1
FOR i= 1 TO 10 STEP 1 ... NEXT i
Цикл for - next для диапазона чисел с декрементом на 1
FOR i= 10 TO 1 STEP -1 ... NEXT i