Windows. Вирусы. Ноутбуки. Интернет. Office. Утилиты. Драйверы

Язык программирования Бейсик - это семейство языков программирования высокого уровня. Первоначально разработанный в качестве учебного пособия, он получил широкое распространение на домашних микрокомпьютерах в 1980-е годы, и остается популярным и по сей день в сильно изменном диалекте. Программирование для начинающих.
Название языка программирования BASIC было придумано в классических традициях информатики, что привело к хорошему сокращению наименования, Beginner"s All-purpose Symbolic Instruction Code (Многоцелевой код символьных инструкций для начинающих). Название связано с названием неопубликованной работы изобретателя языка Томаса Курца. Некоторые критики шутливо называют его Попытка языка Билла захватить контроль над промышленностью в ответ на политику Microsoft в отношении интерпретатора Бейсика, который включенали во все поставки с ранними ПК совместимых с IBM. Программирование для чайников.

История

До появления
До середины 1960-х годов, компьютеры были очень дорогие инструментами, которые использовались только для задач специального назначения, в то время выполнять могли они только одну "работу". С середины 1960-х годов, однако, компьютеры начали падать в цене, вплоть до того момента, когда даже небольшие компании могли их себе позволить, а скорости исполнения инструкций выросли до такой степени, когда компьютеры стали простаивать, потому что не было достаточного количества работы для них, что впоследствии рассматривалось в основах программирования.
Языки программирования той эпохи, как правило, разрабатывались с учетом возможностей вычислительных машин и для конкретных целей, таких, как научная обработкая формул. Компьютеры, которые могли выполнять только одну "работу" были дорогими, а самой главной характеристикой являлась скорость исполнения инструкций. В общем, их использование было трудным делом, и, даже можно сказать, немного "уродливым".
Именно в это время концепция разделения времени операционной системой начала становиться популярной. В такой системе время основной обработки компьютер "нарезал" на части, и каждый пользователь получал небольшое количество времени в определенной последовательности. Машины были уже достаточно быстрыми, так что большинство пользователей заблуждались, думая, что они монопольно использовали целый компьютер. В теории разделения времени снижение времени вычисления чрезвычайно важно, поскольку на одном компьютере могут работать сотни пользователй, по крайней мере теоретически.

Рождение и ранние годы
Язык программирования BASIC изобрел в 1964 году Джон Джордж Кемени (1926-93) и Томас Курц Евгений (1928 -) в Дартмутском колледже. В последующие годы, после появления множества разновидностей Бейсика, было выпущено описание оригинального BASIC от Кемени и Курца, которое дало название настоящему Бейсику "Дартмут Бейсик".
Язык программирования Бейсик был разработан для того, чтобы студенты могли писать программы, используя с компьютерные терминалы в режиме разделения времени. Бейсик предназначен для решения сложных вопросов, которые решало предыдущее поколение языков. Разработанный специально для нового класса пользователе, которые приняли идею использования разделения времени, то есть для "простого" пользователя, который был заинтересован не столько в скорости, сколько в простой возможности использования компьютера. Разработчики языка также хотели, чтобы язык стал общественным достоянием, которое помогло бы ему распространяться.
Восемь принципов построения BASIC:

  1. Быть легким для новичков
  2. Быть языком общего назначения
  3. Разрешить расширенные возможности добавления собственным усовершенствований для специалистов (при сохранении языка простым для начинающих)
  4. Быть интерактивным
  5. Разработка четких и дружественных сообщений об ошибках
  6. Быстро реагировать на небольшие программы
  7. Не требуется знание компьютерных аппаратных
  8. Ограждение пользователя от операционной системы

Язык был основан частично на Фортран II и частично на Алгол 60, с дополнениями, чтобы сделать его пригодным для разделения времени и матрицей арифметики, BASIC был впервые реализован на манфреймах GE-265, которые поддерживали несколько терминалов. Вопреки распространенному мнению, на момент создания это был компилируемый язык. Почти сразу же после его выпуска, компьютерные специалисты начали высмеивать Бейсик как слишком медленный и слишком простой. Так как элитарность языка является постоянной темой в компьютерной индустрии.
БЕЙСИК тем не менее, распространяется на большое количество машин, и становится довольно популярным на новых миникомпьютерах, таких как серия DEC PDP и Data General Nova. В этих случаях язык, как правило, выступает в качестве переводчика, а не компилятора, или, наоборот, в зависимости от потребностей.

Взрывной рост
Однако только с появлением микрокомпьютера Altair 8800 в 1975 году BASIC начинает свое массовое распространение. Большинство языков программирования были слишком велики, чтобы уместиться в небольшой памяти компьютеров, которые большинство пользователей могут позволить себе купить, а если еще учесть, что чтение происходило с медленной бумажной ленты (или в более поздних версиях аудио кассеты) и отсутствовали подходящие текстовые редакторы, то малый требования языка BASIC хорошо отвечали этим требованиям. Одним из первых появившихся на этой машине был Tiny BASIC, простая реализация BASIC изначально написанная доктором Ли-Ван Чэнь, а затем перенесенная на Альтаир Деннисом Эллисоном по просьбе Боба Альбрехта (который позже основал доктор Dobbs Journal - DDJ) . Дизайн Tiny BASIC и полный исходный код был опубликован в 1976 DDJ.
В 1977 году Microsoft (в то время это были только два человека - Гейтс и Аллен) выпустила Altair BASIC. Версии затем начали появляться и на других платформах в соответствии с лицензией, и миллионы копий и вариантов вскоре были в использовании, он стал одним из стандартных языков на Apple II. К 1979 году Microsoft ведет переговоры с несколькими поставщиками микрокомпьютеров, в том числе IBM, для того, чтобы лицензировать интерпретатор BASIC для этих компьютеров. Версия была зашита в чипах IBM PC в ПЗУ, а для ПК без дисков, Бейсик стал загружаемым автоматически при включении питания.
По мере появления новых компаний, многие из них пытались повторить успех Альтаира, например, IMSAI, Полярная звезда, и Apple, и, таким образом произошла революция домашнего компьютера, в котором BASIC стал стандартным атрибутом домашних компьютеров того времени. Большинство шли с интерпретатором BASIC в ПЗУ (функция впервые появилась на Commodore PET в 1977). Вскоре появились многие миллионы машин, работающих с BASIC во всем мире, вероятно, гораздо больше, чем число всех пользователей всех других языков вместе взятых. Многие программы, особенно те, что на Apple II и IBM PC, стали зависимыми от интерпретатора BASIC компании Microsoft и не работали без него. Таким образом, Microsoft использовали авторскую лицензию на трансляторы BASIC, чтобы получить рычаги давления на переговорах с поставщиками компьютеров.

Зрелость
В этот период времени были созданы новые и более мощные версий BASIC. Microsoft продала несколько версий BASIC для MS-DOS / PCDOS включая BASICA, GW-BASIC (BASICA-совместимую версию, которая не требовала наличия ROM IBM) и Quick Basic. Компания Borland (разработчик Turbo Pascal) опубликовала Turbo Basic 1.0 в 1985 (преемник этой версии все еще продается под названием PowerBASIC другой компанией). Появлялись различные расширения для домашнего компьютера которые поддерживал Бейсик, например, графика, звук и DOS команды, а также средства для структурного программирования. Другие языки программирования использовали широко известный синтаксис языка Бейсик в качестве основы для переноса на другие операционные системы, в качестве примера можно вспомнить GRASS .
Однако во второй половине 1980-х годов новые компьютеры были гораздо более сложными и имели множество возможностей (например, графические интерфейсы пользователя), что делало BASIC все менее и менее подходящим для программирования. В то же время компьютеры прогрессируют от инструмента любителей до инструмента профессионалов. Персональные компьютеры начинают использоваться в основном для выполнения приложений, написанных другими людьми, и программирования в целом становится менее важной составляющей для быстро растущего числа простых пользователей. БЕЙСИК начал исчезать, хотя многочисленные версии остались доступными.
Бедственное положение БЕЙСИКА изменяется с появлением Visual Basic от Microsoft. Хотя уже довольно трудно рассмотреть в этом языке классический BASIC (несмотря на использование в названии знакомых слов BASIC), но этот новый стал одним из наиболее часто используемых языков на платформе Windows. Не забудем упомянуть, что программы, написанные на этом языком представляют собой примерно 70 до 80% всех коммерческих приложений. Visual Basic для приложений (VBA) был добавлен в Microsoft Excel 5.0 в 1993 году и включен во всю линейку продуктов Microsoft Office в 1997 году. В Windows 98 появился транслятор VBScript. Последняя версия Visual Basic называется VB.NET. OpenOffice Suite включает в себя вариант BASIC менее мощный, чем его коллега MS.

Синтаксис
Оператор завершения логической строки это перевод на новую строку, если только не встретился оператор переноса логической строки на следующую с помощью символа продолжения строки. Минимальный синтаксис Бейсика: LET, PRINT, IF и GOTO команды. Интерпретатор, который запускает программу с этим минимальным синтаксисом не нуждается в стеке, потому что некоторые ранние реализации микрокомпьютеров были настолько простыми. Если добавить стек, то могут быть добавлены циклы и команды GoSub . Интерпретатору BASIC для работы с этими функциями необходимо иметь код номера строк.
Номера строк были отличительной особенностью классического BASIC для домашнего компьютера. Увы, использование номеров строк имеет большой недостаток, который требует от программиста чутья на то, сколько строк будет в программы, поскольку основными командами был переход к номеру определенной строки. А в случае внесения правок или дополнений в более поздних версиях программы, номера этих строк начинали изменяться, что приводило к необходимости изменения почти всей программы. Для решения данный проблемы использовались хитрые приемы, которые скажем гласили, что нумеровать надо строки с запасом и шаг составлял +10. Но все равно это не спасало в случае серьезных модификаций программы. Чтобы решить эту проблему с ранними трансляторами BASIC, опытные пользователи скоро написали свои собственные утилиты для перенумерации строк исходного кода программы. Некоторые трансляторы БЕЙСИКА, которые появились позже, имели встроенную команду изменения нумерации строк, тем самым устраняя наиболее актуальную проблему с номерами строк.
Современные диалекты BASIC отказались от номерации строк, и большинство реализаций поддерживают структурные управляющие операторы, которые используются в известных языках, таких как Си или Паскаль как известно и в других языках, таких как C и Pascal (хотя остаются и версии, где совмещено структурное управление и нумерация строк):

  • do - loop - while - until - exit
  • on x goto / gosub (switch & case)

Последние варианты, такие как Visual Basic ввели возможность объектно-ориентированного программирования, и даже наследование в последней версии. Управление памятью в последней реализации намного легче, чем во многих других процедурных языках программирования из-за того, что обычно включен сборщик мусора (который самостоятельно очищает память и удаляет ненужные данные).
Разнообразие вариантов языка показывает, что язык имеет "органический" характер и что этот язык может рассматриваться как субкультура в компьютерном мире, а не как фиксированный набор синтаксических правил. То же самое относится и к другим "старым" языкам программирования, таким как COBOL и FORTRAN. Огромное количество профессионалов в ИТ индустрии, которые владеют БЕЙСИКОМ, можно объяснить тем, что основная масса оттачивала зубы в программировании в 80-х годах, годы популярности Бейсика.

Процедуры и управление потоком
Basic не имеет стандартных внешних библиотек, как другие языки, такие как Си. Вместо этого транслятор (или компилятор) содержит обширную встроенную библиотеку собственных процедур. Эти процедуры включают в себя большинство инструментов, с помощью которых программист должен научиться программированию и писать простые приложения, включая математические функции, ввод и вывод строк на консоль, графики и обработка файлов.
Некоторые диалекты BASIC не позволяют программистам писать свои собственные процедуры. Программисты должны вместо этого писать свои программы с большим количеством GOTO заявлений для ветвления. Это может привести к очень запутанному исходному коду, который обычно называют код спагетти. GoSub объявляет простые виды подпрограмм без параметров или локальных переменных. Большинство современных версий BASIC, таких как Microsoft QuickBASIC добавили поддержку полных подпрограмм и функций. Это еще одна область, которой этот язык отличается от многих других языков программирования. BASIC, как Паскаль, делает различие между процедурой, которая не возвращает значение (так называемые подпрограммы) и процедуры, которые возвращают значение (называется функция). Многие другие языки (в частности, C) не делают различия и называют всё функциями (хотя некоторые функции возвращают "пустые" значения и являются процедурами-подпрограммами).

Типы данных
БЕЙСИК хорошо известен своей отменной функцией обработки строк. Уже в первых диалектах было множество фундаментальных функций (LEFT$, MID$, RIGHT$) для простой обработки строк. Так как строки часто используются в повседневных приложениях, то это было значительное преимущество перед другими языками в момент появления языка.
Оригинальный Дартмут BASIC поддерживает только числовые и строковые типы данных. В языке не было целого типа данных, вместо этого предполагалось описывать все числа с помощью переменных с плавающей точкой (весщественный тип). Строки были динамической длины. Поддерживались массивы, а также матрицы (двумерные массивы).
В каждом современном диалекте BASIC по крайней мере есть целые и строковые типы данных. Типы данных, как правило, отличаются следующим: строковые идентификаторы содержат в конце $, а целых нет. В некоторых диалектах, переменные должны быть объявлены до первого использование, в других диалектах не требуют этого, но есть возможность проверить его выполнение этого правила, для этого используют директивы, такие как Option Explicit. Многие диалекты также имеют поддержку дополнительных типов, такие как 16 и 32-разрядных целых чисел и чисел с плавающей точкой. Кроме того, некоторые позволяют определять пользовательские типы данных, похожие на Pascal "записи", или С "структуры".
Большинство основных диалектов также поддерживает массивы целых чисел или других типов. В некоторых, массивы должны быть предопределенными, прежде чем они могут быть использованы (с заявлением DIM). Поддержка двух и многомерных массивов, а также массивы нецелых типов, являются обычным делом.
DIM myIntArray (100) AS INTEGER
DIM myNameList (50) AS STRING
В зависимости от диалекта BASIC и по использованию Option Base, значения могут колебаться от myIntArray (0) до myIntArr (100), от myIntArr (1) к myIntArr (100) или из myIntArray (LowInteger) в myIntArray (HighInteger), иными словами номер первого элемента может начинаться с нуля или с единицы.

Реляционные и логические операторы
= Равны
<= меньше или равно
not логическое отрицание
<> Не равно
>= больше или равно
and логическое умножение
< Меньше
or логическое сложение
> Больше
(Обратите внимание, что нет лексического различия между оператором равенства и оператором присваивания в Бейсике - это знак "=")

Доступность и варианты диалектов
Basic доступен практически для любой платформы микропроцессоров. Есть свободный интерпретатор языка, совместимый со стандартами и кросс-платформенный Байуотер BASIC (bwBASIC). Интерпретатор написан на C и поставляется под лицензией GNU. Он предназначен для текстовой консоли программы, и как таковой не включает инструменты для создания графического интерфейса пользователя (GUI). Бесплатный Бейсик, который не включает GUI Builder, похож на Visual Basic и работает на Windows и Linux - это Phoenix Object Basic.
Самые известные версии - это компилируемая версия Microsoft Quick BASIC и QBASIC версия, которая не создает автономные программы. Некоторые версии Visual Basic также могут компилироваться в машинный код. Microsoft сохранила в Visual Basic минимальную совместимость даже с ранними версиями.
Другие версии включают язык программирования PowerBASIC от компании PowerBASIC, а также True BASIC от компании True BASIC, которые совместима с последними официальными стандартами для BASIC. Компания True BASIC была основана одним из создателей Дартмут BASIC.
REALbasic это вариант для Apple Macintosh, которая также создает исполняемые файлы для Microsoft Windows. PureBasic являет вариант с простым синтаксисом, но который производит быстрые и крошечные исполняемые файлы для Windows и Linux. SmallBASIC это диалект, который работает на многих платформах (Win32, DOS, Linux и PalmOS) и поставляется под лицензией GNU (GPL).

Цель урока:

    Познакомить учащихся с основами языка Бейсик. Проверить знания прошлого урока. Воспитание умения слушать учителя. Развитие познавательного интереса.

План урока:

Проверка домашнего задания. Объяснение нового материала. Основные понятия языка Домашняя работа. Подведение итогов урока.

Ход урока

Проверка домашнего задания.

Постановка цели урока.

Объяснение нового материала.

Язык программирования Basic был создан в 1964 году двумя профессорами Дартмунского университета Джоном Кенеми и Томасом Куртцом. BASIC - это первые буквы английских слов Beginner"s All-purpose Symbolic Instruction Code (Всецелевой язык программирования для начинающих). В настоящее время существует множество версий этого языка, которые иногда очень сильно отличаются друг от друга. Для учебных заведений самыми распространенными являются версии MSX, впервые реализованная на японском компьютере "Ямаха", и версии фирмы Microsoft для компьютеров IBM. Кроме этого в нашей стране популярностью пользуется версия Turbo-Basic фирмы Borland. Без преувеличения можно сказать, что сегодня Бейсик является самым распространённым языком программирования. После появления мощных компиляторов Visual Basic этот язык стал популярен и у профессиональных программистов. Бейсик относится к языкам программирования высокого уровня. Как и другие языки, этот язык имеет алфавит , синтаксис, семантику.

Алфавит языка. Алфавит языка Basic представляет собой таблицу символов ASCII. Первая половина этой таблицы (символы с кодом 0-127) - стандартная. Вторая половина (символы с кодом 128-255) специфична для каждой страны. В этой таблице каждый символ имеет 8-битовое обозначение. Итак, в алфавит языка Basic входят все прописные и заглавные буквы английского и русского алфавитов, цифры, а также набор специальных символов, который имеется на клавиатуре компьютера.

Переменные. В Бейсике различают переменные следующих типов:

    числовые переменные; символьные переменные; переменные пользовательского типа (записи); переменные-массивы.

Переменная - это величина, которая может меняться при выполнении программы. Кроме указанных в таблице, целые числа записывают также в экспонецианальной записи, например,

2,55.105=2.55Е5; 7,15.10-7=7.15Е-7

Программа на языке Бейсик обрабатывает данные двух типов – числовые и символьные. Каждое число представлено в машине некоторой комбинацией битов. Любое число можно по-разному представить в машине:

Целое число в диапазоне от –32768 до 32768; длинное целое в диапазоне от – до; вещественные числа обычной точности; вещественные числа двойной точности;

Данные можно представить переменными и константами.

Переменные. С понятием переменной величины вы уже знакомы по урокам алгебры. Например, в простом алгебраическом равенстве c = f + 2b – 5 значение переменной с зависит от значения переменной f и b, указанных в правой части равенства. Например, при f=2 и b=6, с=9 .

Такое же равенство можно записать в программе на Бейсике.

c = f + 2*b – 5

В терминах языка Бейсик c , f и b – это имена переменных. Такие имена также называют идентификаторами .

Идентификаторы . В языке Бейсик идентификатор – это произвольный набор символов, который может содержать от 1 до 40 символов, причём первый символ должен быть латинской буквой, а остальные – латинские буквы или цифры или символы типа @, #, % и. т.д.

Пример :

A, Ds, SodRan, k1, n123, dlina!

Тип идентификатора в Бейсике опознаётся по последнему символу в имени переменной.

% - целое число;
& - длинное целое число;
! – вещественное число обычной точности;
# - вещественное число двойной точности;
$ - символьный тип.

В Бейсике предусмотрен другой способ описания типов переменных (qbasic). Если в начале программы поместить команду: DEFINT I – L, то все переменные, имена которых начинаются с буквы I и лежат в диапазоне до буквы L будут считаться целыми (INTEGER).

Общий формат команды описания типов:

DEFINT X-X (целые числа integer) DEFLNG X-X (длинные целые числа long) DEFSNG X-X (вещественные числа обычной точности, single) DEFDBL X-X (вещественные числа двойной точности double) DEFSTR X-X (символьный тип string)

Константы. Константы, как числовые так и символьные – это величины, которые не меняются в ходе выполнения программы.

Например:

p= 3.1415
T$= “Скороднянская школа”
A=9575
m$=”Расписание на неделю”

Иногда записанные константы называют литералами. В отношении констант необходимо помнить правила:

Разделителем целой и дробной части является точка; значения символьных констант заключается в кавычки.

Числа можно записать в экспоненциальной форме, например:

0.0285=2.85Е-2 или 0.0285=2.85D-2
784.527=7.84Е+2
или 784.527=7.84D+2

Числа, записанные в экспоненциальной форме, представляют собой произведение мантиссы на порядок, т. е. На 10 в степени –2, +2 и т. п. Буква Е используется для вещественных чисел обычной точности, буква D – для вещественных чисел двойной точности.

Именованные константы. Если присвоить переменной некоторое значение (числовое или символьное) и в дальнейшем не изменять эти значения, например:

F3=60, n%=15

CONST <имя_переменной = константа, имя переменной = константе>

Например: CONST F2=60, n%=15

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

Арифметические операции; Операции отношений; Логические операции; Функциональные операции; Строковые операции.

Арифметические операции.

Название операции

знак
в матем.

знак в Бейсике

Пример в
математ.

Пример в
Бейсике

Ввозведение в степень

-

^

25

2^5

Сложение

+

+

5+10

5+10

Вычитание

-

-

a-b

a-b

Умножение

x; .

*

2.5

2*5

Деление

:

/

10:2

10/2

Операции отношений.

Функция - это заранее определённая операция над данными. В Бейсике существует два вида функций: встроенные и определённые пользователем.

Встроенные математические функции

Название функции

Запись в математике

Запись в Бейсике

Пример в Бейсике

Абсолютная величина

Экспонента

Логарифм натуральн.

Остаток целочисленного деления (MOD)

19 MOD 6.7

Квадратный корень

Синус

SIN(3.14)

Косинус

Тангенс

Арктангенс

Знак числового выражения

Все остальные тригонометрические функции также как и гиперболические функции, определяются по известным математическим формулам, например, ARCSIN(X)=ATN(X/SQR(1-X^2)) .

При решении задач очень часто используются ещё две функции.

1. RND(1) - генератор случайных чисел, который задаёт случайные числа из интервала от 0 до 1.

Пример:

Задайте случайное числа от 1 до 100. (Натуральное число).

N=(RND(1)*100+1)

2. INT(числовое выражение) - эта функция отбрасывает дробную часть при делении чисел.

Пример:

В примере первом необходимо, чтобы числа N от 1 до 100 были натуральными.

N=INT(RND(1)*100+1)

Функция пользователя.

В тех случаях, когда функция не является элементарной, или у функции несколько аргументов, удобно использовать функцию пользователя: DEF FN. Имя функции всегда должно начинаться с букв FN. DEF FN не может быть рекурсивной (не может вызывать сама себя), и должна быть определена перед пользователем.

Пример:

Пусть X и Y - натуральные числа. R - остаток от деления X на Y. Выразить R(X, Y) - R функция от X и Y.

R=X - INT(X/Y)*Y - остаток от деления X на Y
DEF FN R(X, Y)=X-Y*INT(X/Y)

В этом примере R(X, Y) - функция двух аргументов.

Запись математических выражений на Бейсике.

Любое математическое выражение на Бейсике записывается в виде строки. Чтобы вычислить это выражение, достаточно перед ним записать PRINT или?.

Вычислить:

https://pandia.ru/text/78/020/images/image003_37.gif" alt="Формула" width="121" height="42 src=">

PRINT (SIN(47*PI/180)-COS(78*PI/180)^2)/(EXP(1.5)-SIN(13*PI/180))

Записать на Бейсике следующие выражения:

  • Разработка под Windows
  • DONKEY.BAS. Входит в комплект IBM PC в 1981. Соавтор - Билл Гейтс

    Название BASIC появилась как сокращение от «Beginner"s All-purpose Symbolic Instruction Code», что в дословном переводе означает «многоцелевой язык символических команд для начинающих». Это тот случай, когда дословный перевод совершенно точно передавал суть. Ключевой особенностью BASIC"а была не только его простота, но и возможность, находить решение задач в режиме диалога с компьютером.

    Для многих компьютеров конца 60-х BASIC позиционировался как единственный язык программирования высокого уровня общего назначения, и со временем это привело к появлению различных его модификаций. Поворотным моментом в развитии языка стало появление Visual Basic.

    Предыстория

    В середине 50-х годов роль программирования в машинных кодах стала уменьшаться. Появились языки более высокого уровня – Fortran, Algol, Cobol и так далее.

    Первым из них и одним из наиболее распространенных был Фортран (FORTRAN, от FORmula TRANslator – переводчик формул), разработанный группой программистов фирмы IBM в 1954 году (первая версия). Этот язык был ориентирован на научно-технические расчеты математического характера.

    Название языка Algol (ALGOrithmic Language), первая версия которого появилась в 1958 году, подчеркивает то обстоятельство, что он предназначен для записи алгоритмов. Благодаря четкой логической структуре Алгол стал стандартным средством записи алгоритмов в научной и технической литературе.

    Тогда для языков программирования высокого уровня была характерна предметная ориентация. Кроме того, подобные языки были чересчур сложны для начинающих разработчиков, особенно, если они не были инженерами. Поэтому естественно, что со временем появился язык программирования для «простых смертных».

    BASIC. Просто BASIC

    С идеей создания этого языка программирования ассоциируют известную историю про английского миссионера.
    В XIX веке одному английскому миссионеру, который искал возможность облегчить и упростить контакт с туземцами, пришла в голову гениальная мысль - вычленить из английского языка самую простую его часть, практически не имеющую грамматики, и содержащую около 300 самых распространённых слов. Этот урезанный подвид английского языка был назван BASIC ENGLISH, и как показала практика - он действительно оказался очень простым для усвоения, и вскоре завоевал популярность не только среди туземного населения, но и среди иммигрантов, для которых английский не был родным языком.
    Спустя сто лет аналогичный путь избрали сотрудники математического факультета Дартмутского колледжа. Они решили облегчить взаимодействие между компьютером и непрофессиональным пользователем с помощью «упрощенного» языка программирования.

    В 1964 году Томас Курц и Джон Камени создали специализированный язык программирования, который состоял из простых слов английского языка. Новый язык назвали BASIC.

    Они использовали его для обучения студентов навыкам программирования. Язык получился настолько простым и понятным, что через некоторое время его начали применять и в других учебных заведениях.

    Серьезное влияние на BASIC оказали Fortran II и Algol 60. Кроме того, разработчики реализовали в нем механизмы работы для систем с режимом разделения времени, а также обработки текста и матричной арифметики. Изначально компилятор языка был написан для мейнфрейма GE-265.

    Расцвет

    В 70-х появились более компактные компьютеры (ПК). Это обстоятельство удачно использовали Билл Гейтс и Пол Аллен, основатели Microsoft.

    Они создали новую версию BASIC для первых компьютеров «Альтаир» (MITS Altair), способную работать в 4КБ оперативной памяти. Со временем именно эта версия и превратилась в один из самых популярных языков программирования в мире.


    Altair

    Периодом наибольшего расцвета и развития исходного BASIC можно считать конец 1970-х - первую половину 1980-х годов. Его версии появились на других платформах, и скоро стали расходиться миллионными тиражами с всевозможными изменениями и доработками. Одной из самых популярных версий был Applesoft BASIC, ставший стандартным языком на Apple II.

    Applesoft BASIC был написан фирмой Microsoft как замена системе Integer BASIC, использовавшейся в самой первой модели Apple II и обладавшей весьма ограниченными возможностями. Applesoft BASIC был прошит в ПЗУ всех моделей Apple II, начиная с Apple II+, и всех клонов Apple II. Также более ранняя и урезанная версия Applesoft BASIC была доступна на кассетах для самой первой модели Apple II.

    Для операционной системы CP/M был создан диалект BASIC-80, надолго определивший развитие языка.

    Когда появились первые персональные компьютеры IBM PC, именно он стал стандартом в программировании, но уже в виде GW-Basic.

    В середине 1980-х BASIC стал основным языком в сложных моделях программируемых калькуляторов, которые как раз к этому времени достигли мощности, допускающей применение полноценного языка высокого уровня. BASIC был встроен в советский калькулятор «Электроника МК-85» и все его более поздние модели.

    Также в 1985 году появилась IDE Quick Basic - интегрированная среда разработки и компилятор языка программирования BASIC, разрабатывавшаяся компанией Microsoft с 1985 по 1988 год. Существовали версии для DOS и Mac OS. Используемый диалект BASIC был основан на усовершенствованном диалекте GW-BASIC: была реализована поддержка пользовательских типов, конструкций структурного программирования, значительно расширена поддержка графических и дисковых операций.

    Роберт «Боб» Зейл в 1987 году на основе своей многолетней разработки BASIC/Z создал Turbo Basic, а затем продал его компании Borland. Журнал Infoworld назвал его одним из самых значительных продуктов того года.

    В отличие от большинства реализаций BASIC того периода, Turbo Basic был полным компилятором, генерировавшим родной код для MS-DOS.

    Несмотря на огромное количество версий языка BASIC, при разработке новой версии языка всегда сохранялась совместимость с прежними версиями: с программой, написанной для более ранних версий вполне (иногда с незначительными изменениями) можно было работать и в последующих версиях этого языка.

    Вторая жизнь

    В начале 90-х появилась операционная система Microsoft Windows с новым графическим интерфейсом пользователя.

    Чтобы создать простую программу, разработчикам приходилось писать по несколько страниц кода: прописывать объемные блоки кода для меню и окон, шрифтов, очищать память, «рисовать» кнопки и т.д. Однако преимущества нового интерфейса были довольно сильны, и у Windows появились реальные перспективы стать популярной повсеместно.

    В Microsoft понимали, что необходимо как-то облегчить жизнь разработчиков. Поэтому компания запустила несколько параллельных проектов по созданию нового языка программирования и среды разработки для Windows.

    Вторую жизнь BASIC получил, когда Microsoft выпустила Visual Basic. Он стал логическим завершением эволюции языка и, несмотря на сохранение привычных ключевых слов, по структуре и набору возможностей был ближе к Pascal, чем к изначальному BASIC.

    В 1991 году появилась первая версия новой IDE Microsoft Visual Basic. Однако в тот момент Microsoft достаточно скромно оценивала возможности этой системы, ориентируя ее, все же, на категорию начинающих и непрофессиональных программистов.

    Конечно, это был только первый шаг, так как компания Билла Гейтса планировала укрепить позиции Windows на рынке. А это было бы очень трудно сделать, оставив коммерческих разработчиков без эффективных средств создания приложений под MS Windows.

    Система программирования, созданная разработчиками Visual Basic, позволяла абстрагироваться от внутренней структуры Windows. Меню, окна, списки, кнопки, поля ввода текста и другие элементы интерфейса Windows добавлялись в программу с помощью простейших операций drag&drop, и большая часть кода для их инициализации и настройки генерировалась автоматически.

    Свою первую программу VB-программисты могли создать уже через несколько минут после начала изучения этого языка. Более того, Visual Basic позволял разработчикам создавать новые элементы графического интерфейса, которые также могли использоваться в программах наравне со стандартными.

    Несмотря на то, что многие С-разработчики не воспринимали всерьез попытки Microsoft сделать простой и понятный инструмент разработки Windows-программ, остальные участники ИТ-сообщества возлагали на Visual Basic большие надежды.

    В 1994 году компания выпустила Visual Basic for Applications. Именно в это время, после включения VBA в состав Microsoft Office, Basic стал одним из основных стандартов программирования для Windows.

    Первоначально задумывавшийся как игрушка, Visual Basic от Microsoft невероятно быстро завоевал программистский мир. Его популярность обусловлена двумя причинами: относительной простотой и продуктивностью.

    Программы на VB работали медленнее своих аналогов на C/C++, но все же они достаточно быстры для многих деловых целей и требуют гораздо меньше времени на разработку. Формы были той самой сберегающей усилия абстракцией, которую предложил VB программистам Windows.

    IDE VB позволила разрабатывать окна графически, перетаскивая элементы управления, такие как кнопки и списки, с панели инструментов в форму. Получив удовлетворительный внешний вид формы, можно было переходить к кодовой части и писать обработчики событий для каждого элемента управления формы.

    Разработка приложения в VB, таким образом, состояла из создания нескольких форм, которые взаимодействовали друг с другом.

    С точки зрения написания кода важным отличием от того же C++ стал отказ от указателей. Так решил Билл Гейтс, еще во время разработки первых версий Microsoft BASIC. Хотя указатели полезны, так как разрешают прямой доступ к памяти по любому адресу, их использование сопряжено с ошибками в том случае, если они применяются неаккуратно. А так как первоначально язык создавался для «простых смертных», это решение выглядит вполне оправданным.

    Основные версии Visual Basic

    В первой версии (1991 год) Алан Купер реализовал принцип связи языка и графического интерфейса.

    Начиная с третьей версии (1993) в VB появилась поддержка MS Access.

    Visual Basic 4.0 (1995) - версия, в которой появилась возможность создавать как 32-х так и 16-разрядные Windows-приложения. Кроме того, в язык были добавлены классы.

    Начиная с VB 5.0 (1997), появилась возможность разрабатывать собственные COM-компоненты. Кроме того, появилась новая виртуальная машина, реализованная в динамической библиотеке MSVBVM50.DLL. Компилятор VB для трансляции использовал многопроходный режим, но в конечном счете полагался на компилятор Microsoft C++ для получения выходного машинного кода после компиляции в промежуточный язык. Использование библиотеки времени исполнения и внутреннего интерфейса C++ явилось отправной точкой для формирования технологии.NET.

    VB версии 6 - это уже мощный язык, который можно использовать для создания распределенных приложений с применением компонентов СОМ и Microsoft Transaction Server. Microsoft предложила трехуровневый подход для архитектур «клиент-сервер», в котором «тонкие» пользовательские интерфейсы взаимодействовали с удаленными компонентами VB для получения данных из базы данных или с другой машины.

    Более того, VB6 (1998) можно было использовать для создания элементов управления Active-X, работающих вместе с Internet Explorer.

    В 2002 году появился первый выпуск Visual Basic .NET. С этого момента обратная совместимость с классической версией Visual Basic оказалась нарушена.

    С 2005 года Visual Basic входит в состав IDE Microsoft Visual Studio 2005. По сей день язык развивается вместе с IDE – вплоть до текущей версии – MS Visual Studio 2015.

    Языки Basic и Visual Basic прошли серьезный путь и претерпели существенные, можно сказать, необратимые изменения. От их изначальной простоты мало что осталось. В результате VB превратился в «обычный» объектно-ориентированный язык программирования высокого уровня.

    История языков программирования знает множество примеров, когда случались самые настоящие революции в программировании. История языка программирования бейсик - как раз такая. Из маленького, малораспространенного языка для обучения он превратился в настоящий стандарт практически для всех языков программирования.

    Язык программирования бейсик был разработан Томасом Курцем и Джоном Кенеми, в 1964 году с целью обучения студентов основам программирования. Язык получился простой, понятный, с довольно-таки легким интерфейсом. Цель разработчиков была ясна: им нужен был простой язык программирования, который одновременно был бы и доступным. Вот основные положения, которые учитывали “Отцы” бейсика:

    1) Простота использования;

    2) Массовость;

    3) Информативность;

    4) Язык должен поддерживать возможность отслеживания и устранения ошибок;

    5) Язык не должен требовать серьёзных аппаратных знаний;

    6) Язык программирования должен стать связующим звеном между пользователем и операционной системой.

    Как следствие, он стал использоваться во многих других учебных заведениях. Спустя 11 лет, когда мир наводнили миллионы новых микрокомпьютеров, язык программирования бейсик заинтересовал Билла Гейтса и Пола Алена, людей, которые создали Microsoft. Это они, объединив усилия, улучшили версию бейсика для своих которая смогла бы работать даже с 4кб оперативной памяти(!).

    Спустя некоторое время именно их версия и стала одним из самых часто используемых и популярных языков программирования. Во время становления язык программирования бейсик часто пытались закрыть, многие хотели найти недочеты и добиться отмены использования этого языка. Однако, с появлением именно бейсик стал основным языком программирования, на который ориентировались другие. Стоит заметить, что он уже назывался GW-basic. Потом появились turbo basic от компании Borland и Quick Basic. Все версии которые разрабатывались позднее, обязательно писались таким образом, что бы сохранить совместимость с предыдущими. Даже самая последняя версия этого языка программирования работает с самой первой, с небольшими корректировками.

    И вот наступила эра Microsoft. Начало 90-х: операционная система windows захватила почти весь рынок программного обеспечения, все были рады её видеть, все - кроме программистов. Их жизнь стала адом. Чтобы создавать самые обыкновенные, простые окна, нужно было писать море страниц кода, изменять шрифты написания, и наконец “рисовать” новые кнопки. Но надо признать, что преимуществ у неё было куда больше, чем недостатков, и в конце концов, уже третья версия операционной системы превратилась в мировой стандарт для PC.

    Появилась необходимость в модификации бейсика. Таким образом, язык программирования бейсик стал называться Microsoft Visual Basic. Про обширные планы компании ещё не было ничего известно, и разработчики ориентировали новый язык программирования в первую очередь на непрофессионалов. Система программирования, реализованная в Visual Basic, давала возможность отойти от тяжёлой структуры windows и создавать программы хорошего уровня, обладая не самым большим запасом знаний. Последним гвоздем в гроб, который практически похоронил другие, такие довольно неплохие виды языков программирования как Fortran и Pascal, стала разработка разновидности бейсика для приложений.

    В настоящее время язык программирования бейсик, настолько популярен, что едва ли не каждый уважающий себя программист знает и пользуется им. Хочется отметить, что он используется в таких приложениях как microsoft office и internet explorer. Но, пожалуй, одной из самых значительных сфер применения, язык программирования бейсик, получил при разработке и настройке приложений в среде.NET . Кроме того, последняя разработка компании Билла Гейтса, Microsoft C++ открывает перед пользователями огромный спектр возможностей, и все это благодаря двум профессорам из Dartmouth College.

    На которых они использовались, были разработаны для работы с ними обученных технических специалистов и программистов. Поскольку машины были дорогими, то и машинное время было дорого - поэтому на первом месте стояла скорость выполнения программы (скорость счёта).

    Однако в течение 1960-х годов цены на компьютеры стали падать так, что даже небольшие компании могли их себе позволить; их быстродействие всё увеличивалось и наступило время, когда стало возможно организовать более эффективную непосредственную работу пользователей с компьютерами в режиме разделения времени (time-sharing ).

    Рождение

    Рост

    Несмотря на то, что язык уже использовался на нескольких миникомпьютерах, его настоящее распространение началось с его появления на микрокомпьютере Альтаир 8800 . Многие языки программирования были слишком большими, чтобы поместиться в небольшую память, которую пользователи таких машин могли себе позволить. Для машин с таким медленным носителем как бумажная лента (позднее - аудиокассета) и без подходящего текстового редактора такой небольшой язык как Бейсик был отличной находкой.

    Бейсик используется в некоторых моделях программируемых калькуляторов . Например, он был встроен в советский калькулятор «Электроника МК-85 ».

    Описание

    Синтаксис языка напоминает Фортран и многие элементы - явные заимствования из него. Язык задумывался для обучения, поэтому его конструкции максимально просты. Как и в других языках программирования , ключевые слова взяты из английского языка. Основных типов данных два: строки и числа. С появлением версии Visual Basic , а также различных его модификаций (таких как VBA), в языке появились многие другие типы данных и дополнения, типичные для современных языков программирования (например, такие, как объектная модель). Объявление переменных не требует специальной секции (в отличие, например, от Паскаля). Объявление переменной - это первое её использование.

    Ранние версии Бейсика (такие как BASICA, GW-BASIC) существенно отличаются от современных диалектов и сегодня практически не используются.

    Ранние версии

    Внешний вид программ на ранних версиях Бейсика во многом определялся тем, что он предназначался для среды программирования со строчным редактором текста. В таком редакторе пользователь не имел возможности отображать весь текст на экране (в окне), перемещаться по нему в любых направлениях с помощью клавиатуры и/или мыши. В строчных редакторах пользователь для изменения строки текста должен дать команду изменения строки с заданным номером, затем ввести новый текст указанной строки. Для вставки новой строки нужно дать команду вставки, опять таки указав номер. Вводимые строки отображаются на экране последовательно (независимо от номеров). Чтобы увидеть сделанные изменения, применяется команда вывода текста, которая выводит строки в правильном порядке (по возрастанию номеров).

    Всё это отразилось в Бейсике. Каждая строка начиналась с номера. При вводе в редактор строка оказывалась в исходном тексте программы на позиции, соответствующей её номеру. Для вставки новой строки нужно было дописать строку с номером, находящимся в диапазоне между номерами двух других строк. «Раздвинуть» строки было невозможно, если требовалось вставить новую строку между строками с соседними номерами, приходилось повторно вводить эти строки с другими номерами, чтобы обеспечить разрыв в нумерации (либо применять специальную команду RENUM , которая перенумеровывала все уже введённые строки с постоянным шагом, синхронно изменяя все команды переходов). Для упрощения оперативного редактирования программы сложилась практика нумеровать строки с шагом 10 - это позволяло практически во всех случаях вставлять новые строки без изменения номеров ранее введённых. Например, чтобы добавить третью строку между строками 20 и 30, нужно было написать строку с номером 25. Типичная строка из программы на Бейсике выглядела так:

    10 PRINT "Hello, World!"

    Изменять вручную номера уже имеющихся строк было небезопасно, так как номера выполняли роль меток для оператора GOTO . Ранее в Бейсике были допустимы только числовые метки для этого оператора, и наличие в каждой строке уникального номера делало возможным безусловный переход к любой из них. Числовые метки и активное использование GOTO было неизбежным при программировании на Бейсике, что способствовало плохой структуре кода и в больших проектах приводило к запутыванию самих авторов. Был даже придуман шуточный термин «макаронное программирование» (spagetti code), потому что логика программы с частыми переходами GOTO напоминает тарелку со спагетти.

    Признаком конца оператора служил конец строки. Чтобы на одной строке разместить несколько операторов, нужно поставить между ними двоеточие (это разрешалось не во всех реализациях языка). Имена переменных в большинстве диалектов могли состоять только из одной буквы, после которой можно было добавить одну цифру, что так же не способствовало улучшению понимания кода. Для создания переменной строкового типа нужно было после имени указать знак доллара ($). Переменная без этого знака являлась числовой (с плавающей точкой). Было ещё несколько модификаторов, относящихся к числовому типу: знак процента (%) - целый тип, восклицательный знак (!) - обычная точность, октоторп (#) - двойная точность (для данных с плавающей точкой, то есть дробей). Числовые модификаторы применялись не во всех версиях.

    Выражения сходны с большинством других процедурных языков программирования, но в первых вариантах Бейсика их набор был довольно бедным.

    Условный оператор (IF..THEN) изначально имел только одну ветвь - ветвь ELSE в нём отсутствовала и моделировалась с помощью безусловного перехода. Так, в нижеследующей программе выполняется элементарная операция - ввод числа и вывод сообщения «Отрицательное число» или «Положительное число или нуль» в зависимости от его значения:

    10 INPUT I 20 IF I >= 0 THEN PRINT "Positive number or null" : GOTO 40 30 PRINT "Negative number" 40 END

    Имелся оператор перехода по вычисляемой метке ON..GOTO (унаследованный от аналогичной конструкции Фортрана) - в нём после ON указывалось числовое выражение, а после GOTO - список номеров строк. Переход происходил на строку, номер которой в списке соответствовал значению выражения. Присутствуют также циклы (цикл со счётчиком FOR и цикл с предусловием WHILE).

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

    Подпрограммы не являлись аналогом функций таких языков, как Си или Паскаль , так как не имели имён и не могли принимать и/или возвращать параметры. Параметры и результаты передавались через глобальные переменные (все переменные в ранних версиях Бейсика были глобальными). Подпрограммы писались обычно в конце модуля, с нумерацией заведомо большей, чем планируемое количество строк (к примеру, нумерация блока подпрограмм могла начинаться с 5000, даже если в программе была пара сотен строк). Подпрограммы не имели заголовков и имён, и ничем не отличались от любого другого участка кода. Вызов подпрограммы осуществлялся с помощью ключевого слова GOSUB <метка> . Это практически клон GOTO , за исключением одного: возврат в точку вызова происходил автоматически, при достижении в подпрограмме ключевого слова RETURN . GOSUB , как и GOTO , только способствовали плохой структуре кода, так как отследить выполнение программы, содержащей большое количество безусловных переходов и подпрограмм, было сложной задачей.

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

    В некоторых диалектах Бейсика имелась возможность загрузить файл с кодом непосредственно при выполнении программы (текущий при этом выгружался) оператором CHAIN . Это была одна из самых полезных возможностей языка, так как она позволяла разбить большой проект на модули, вызывая их в порядке необходимости.

    Критика

    Бейсик подвергается жёсткой критике за то, что его простота и бесструктурность поощряют порочные методики и привычки программирования, которые могут быть уместны при создании малых программ, но способны привести к краху крупных проектов.

    Одной из «визитных карточек» Эдсгера Дейкстры стало высказывание: «Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации ».

    Кроме того, критики Бейсика часто игнорируют тот факт, что он создавался в качестве отнюдь не инструмента профессиональной разработки сложных программ, а средства, с помощью которого студенты-непрограммисты смогут писать простейшие программы. Если же говорить о современных диалектах и реализациях Бейсика, то они далеко ушли от первоначальной формы языка, являются более структурированными и сопоставимы по возможностям с такими языками, как Си , Паскаль и т. п.

    Производители

    В разное время интерпретаторы BASIC выпускались различными организациями, компаниями, фирмами:

    Переходные Процедурные Объектные Мобильные

    Basic4ppc GLBasic NS Basic

    Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
    ПОДЕЛИТЬСЯ: