Война в Украине

Все мы знаем, какой пиздец сейчас происходит с Украиной и одной известной вам страной-победительницей-фашизма. Если вы хотите почитать об этом, помочь актуализировать информацию или высказать свое мнение — можете сделать это в статье Война в Украине и в обсуждении.

BASIC

Материал из Urbanculture
(перенаправлено с «Basic»)
Перейти к: навигация, поиск

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

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

История[править]

Создан профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени в 1964 году как язык для обучения студентов программированию. Приобрёл популярность благодаря компании Некрософт, которая в 1975 году выпустила версию данного языка под Альтаир 8800 — один из первых персональных компов. С Бейсика начинал Тот, кого нельзя называть некто Билл Гейтс, ещё учась в школе. Возможно, именно его детские воспоминания о хакинге на Бейсике заставили Microsoft так долго насиловать сей труп. Позднее та же компания запиливает QBasic для своей MS-DOS, в которую он входит в качестве бесплатного приложения, после чего создаёт Visual Basic как стандартный язык написания макросов для MS Office и затем Visual Basic.NET. В целом же популярность языка такова, что не существует ни одной платформы, под которой не было бы реализации Бейсика: есть даже реализации для микрокалькуляторов!

Причины популярности[править]

Основная причина сегодня — привычка писать на Бейсике тех, для кого он стал первым и последним языком. Так сложилось из-за продвижения этого языка Компанией Зла и простоты написания на нём программ базового уровня. Как только не называют Бейсик: «язык для чукчей», «язык туземцев», предполагая, что написать прогу на нём способен даже полный кретин. Так, в Бейсике не нужно объявлять переменные, как в C или Pascal — переменная автоматически создаётся при первом обращении к ней (что роднит этот язычок с PHP); впрочем, в последних, продвинутых, версиях объявление переменных таки обязательно.

Описание[править]

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

В языке используется всего два типа переменных: строки и числа. Имена переменных состоят из латинских букв, строковая переменная обозначается символом $ в конце имени. Команды представляют собой слова английского языка, по смыслу совпадающие с тем, что команда должна делать — например, PRINT, как видно из самого слова, — это печать чего-либо (по умолчанию на экран). Каждая команда имеет свой номер, обычно кратный 10, хотя всё зависит от воли программиста. Рекомендуется нумеровать команды примерно так, как указано выше — на тот случай, если возникнет необходимость вставить между двумя командами дополнительные. Ввод программы осуществляется построчно с консоли. Процедуры и функции в языке отсутствуют как таковые и представляют собой обычные фрагменты кода, располагаемые где-то начиная с номера 5000. Вызов такой «функции» осуществляется командой GOSUB с указанием метки (номера команды), возврат — командой RETURN. В операторе условного перехода IF…THEN отсутствует ветвь ELSE, что вынуждает программиста использовать оператор GOTO (безусловный переход) для перехода на нужную команду программы. Вообще, GOTO — основная головная боль языка: в больших по объёму программах этих операторов накапливается столько, что часто сам автор запутывается в том, что, откуда и куда у него передаеётся.

Пример типичной программы:

10 PRINT "Hello world"
20 END

Ввод и запуск этой программы с консоли языка может выглядеть примерно так:

Basic hw.jpg

Пример программы на мотив английской песенки про Десять зелёных бутылок, демонстрация работы цикла, ввода текста и оператора IF:

10 CLS
20 FOR x = 1 TO 9
30 PRINT 10-x;"бутылок пива было на столе. Одну бутылку выпили"
40 NEXT
50 PRINT "Нету больше пива"
60 INPUT "Бухать ещё? ";k$
70 IF k$ = "y" OR k$ = "Y" THEN GOTO 10
80 END

Результат:

9 бутылок пива было на столе. Одну бутылку выпили
8 бутылок пива было на столе. Одну бутылку выпили
7 бутылок пива было на столе. Одну бутылку выпили
6 бутылок пива было на столе. Одну бутылку выпили
5 бутылок пива было на столе. Одну бутылку выпили
4 бутылок пива было на столе. Одну бутылку выпили
3 бутылок пива было на столе. Одну бутылку выпили
2 бутылок пива было на столе. Одну бутылку выпили
1 бутылок пива было на столе. Одну бутылку выпили
Нету больше пива
Бухать ещё?

Достоинства языка[править]

  1. Опять же простота. Для его освоения не требуется особых усилий, изучить его может любая блондинка.
  2. Встроен в Windows и Microsoft Office (VBA). Хорошая среда программирования для наркоманов секретарей. Ролевая игра на Excel.
  3. Удобен для написания коротких программ простыми людьми, то есть не программистами, что напрямую следует из 1-го пункта. (спойлер: На самом деле, для этого подходят почти все скриптовые языки)