BASIC — различия между версиями

Материал из Urbanculture
Перейти к: навигация, поиск
(Причины популярности: HATE)
 
(не показаны 3 промежуточные версии 3 участников)
Строка 1: Строка 1:
{{Навигация|Нет категории}}
+
{{Навигация|Языки}}
 
{{stub|help=yes|несколько подробней описать историю, привести примеры программ, дать описание классического Бейсика и современных релизов, напр. Visual Basic}}
 
{{stub|help=yes|несколько подробней описать историю, привести примеры программ, дать описание классического Бейсика и современных релизов, напр. Visual Basic}}
{{Q|Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации.|[http://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%B9%D0%BA%D1%81%D1%82%D1%80%D0%B0,_%D0%AD%D0%B4%D1%81%D0%B3%D0%B5%D1%80_%D0%92%D0%B8%D0%B1%D0%B5 Дейкстра, Эдсгер Вибе]}}
+
{{Q|w=70%|Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации.|[[:w:Дейкстра, Эдсгер Вибе|Дейкстра, Эдсгер Вибе]]}}
 
[[Файл:Basic typical.gif|thumb|200px|Типичные программисты решают на Бейсике типичные для этого языка задачи]][[Файл:Liberty BASIC for Windows.jpg|thumb|250px|Танки в бой!]]'''BASIC, Бейсик, рус. Васик''' (от англ. Beginner’s All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих) — один из самых популярных высокоуровневых языков программирования.
 
[[Файл:Basic typical.gif|thumb|200px|Типичные программисты решают на Бейсике типичные для этого языка задачи]][[Файл:Liberty BASIC for Windows.jpg|thumb|250px|Танки в бой!]]'''BASIC, Бейсик, рус. Васик''' (от англ. Beginner’s All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих) — один из самых популярных высокоуровневых языков программирования.
  
 
== История ==
 
== История ==
Создан профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени в 1964 году как язык для обучения студентов программированию. Приобрёл популярность благодаря компании [[Некрософт]], которая в 1975 году выпустила версию данного языка под Альтаир 8800 — один из первых персональных компов. С Бейсика начинал <del>Тот, кого нельзя называть</del> некто Билл Гейтс, ещё учась в школе. Возможно, именно его детские воспоминания о хакинге на Бейсике заставили Microsoft так долго насиловать сей труп. Позднее та же компания запиливает QBasic для своей MS-DOS, в которую он входит в качестве бесплатного приложения, еще позднее она-же создает Visual Basic как стандартный язык написания макросов для MS Office и затем Visual Basic.NET. В целом же популярность языка такова, что не существует ни одной платформы, под которой не было-бы реализации Бейсика. Есть даже реализации для микрокалькуляторов.
+
Создан профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени в 1964 году как язык для обучения студентов программированию. Приобрёл популярность благодаря компании [[Некрософт]], которая в 1975 году выпустила версию данного языка под Альтаир 8800 — один из первых персональных компов. С Бейсика начинал <del>Тот, кого нельзя называть</del> некто Билл Гейтс, ещё учась в школе. Возможно, именно его детские воспоминания о хакинге на Бейсике заставили Microsoft так долго насиловать сей труп. Позднее та же компания запиливает QBasic для своей MS-DOS, в которую он входит в качестве бесплатного приложения, после чего создаёт Visual Basic как стандартный язык написания макросов для MS Office и затем Visual Basic.NET. В целом же популярность языка такова, что не существует ни одной платформы, под которой не было бы реализации Бейсика: есть даже реализации для микрокалькуляторов!
  
 
== Причины популярности ==
 
== Причины популярности ==
Основная причина сегодня — привычка писать на Бейсике тех, для кого он стал первым и последним языком. Так сложилось из-за продвижения этого языка Компанией Зла и простоты написания на нем простых программ. Как только не называют Бейсик: «язык для чукчей», «язык туземцев», предполагая что написать прогу на нём способен даже полный кретин. Например, в Бейсике не нужно объявлять переменные, как в C или Pascal, переменная автоматически создаётся при первом обращении к ней (что роднит этот язычок с [[PHP]]), впрочем в последних продвинутых версиях возможность объявления переменных таки присутствует.
+
Основная причина сегодня — привычка писать на Бейсике тех, для кого он стал первым и последним языком. Так сложилось из-за продвижения этого языка Компанией Зла и простоты написания на нём программ базового уровня. Как только не называют Бейсик: «язык для чукчей», «язык туземцев», предполагая, что написать прогу на нём способен даже полный кретин. Так, в Бейсике не нужно объявлять переменные, как в C или Pascal — переменная автоматически создаётся при первом обращении к ней (что роднит этот язычок с [[PHP]]); впрочем, в последних, продвинутых, версиях объявление переменных таки обязательно.
  
 
== Описание ==
 
== Описание ==
Ниже будет дано описание классического Бейсика, примерно в том виде, как он был изначально придумал. Следует иметь ввиду, что современные релизы от классической формы по своей структуре отличаются как небо и земля.
+
Ниже будет дано описание классического Бейсика, примерно в том виде, в каком он был изначально придуман. Следует иметь в виду, что современные релизы от классической формы по своей структуре отличаются, как небо и земля.
  
В языке используется всего два типа переменных: строки и числа. Имена переменных состоят из латинских букв, строковая переменная обозначается символом '''$''' в конце имени. Команды представляют собой слова английского языка по смыслу совпадающие с тем, что команда должна делать, например '''PRINT''' как видно из самого слова, это печать чего-либо (по умолчанию на экран). Каждая команда имеет свой номер, обычно нумерация идет через 10, то есть 10, 20, 30 и т. д. хотя всё зависит от воли программиста. Рекомендуется нумеровать команды примерно так, как указано выше на тот случай, если возникнет необходимость вставить между двумя командами еще какие-либо команды. Ввод программы осуществляется построчно с консоли. Процедуры и функции в языке отсутствуют как таковые и представляют собой обычные фрагменты кода располагаемые где-то начиная с номера 5000. Вызов такой «функции» осуществляется командой '''GOSUB''' с указанием метки (номера команды), возврат командой '''RETURN'''. В операторе условного перехода '''IF…THEN''' отсутствует ветвь '''ELSE''' что вынуждает программиста использовать оператор '''GOTO''' (безусловный переход) для перехода на нужную команду программы. Вообще '''GOTO''' основная головная боль языка, в больших по объему программах этих операторов накапливается столько что часто сам автор запутывается в том, что откуда и куда у него передаеётся.
+
В языке используется всего два типа переменных: строки и числа. Имена переменных состоят из латинских букв, строковая переменная обозначается символом '''$''' в конце имени. Команды представляют собой слова английского языка, по смыслу совпадающие с тем, что команда должна делать — например, '''PRINT''', как видно из самого слова, — это печать чего-либо (по умолчанию на экран). Каждая команда имеет свой номер, обычно кратный 10, хотя всё зависит от воли программиста. Рекомендуется нумеровать команды примерно так, как указано выше — на тот случай, если возникнет необходимость вставить между двумя командами дополнительные. Ввод программы осуществляется построчно с консоли. Процедуры и функции в языке отсутствуют как таковые и представляют собой обычные фрагменты кода, располагаемые где-то начиная с номера 5000. Вызов такой «функции» осуществляется командой '''GOSUB''' с указанием метки (номера команды), возврат — командой '''RETURN'''. В операторе условного перехода '''IF…THEN''' отсутствует ветвь '''ELSE''', что вынуждает программиста использовать оператор '''GOTO''' (безусловный переход) для перехода на нужную команду программы. Вообще, '''GOTO''' — основная головная боль языка: в больших по объёму программах этих операторов накапливается столько, что часто сам автор запутывается в том, что, откуда и куда у него передаеётся.
  
 
Пример типичной программы:
 
Пример типичной программы:
Строка 25: Строка 25:
 
[[Файл:Basic hw.jpg]]
 
[[Файл:Basic hw.jpg]]
  
Пример программы на мотив английской песенки про [http://ru.wikipedia.org/wiki/%D0%94%D0%B5%D1%81%D1%8F%D1%82%D1%8C_%D0%B7%D0%B5%D0%BB%D1%91%D0%BD%D1%8B%D1%85_%D0%B1%D1%83%D1%82%D1%8B%D0%BB%D0%BE%D0%BA Десять зелёных бутылок], демонстрация работы цикла, ввода текста и оператора IF:
+
Пример программы на мотив английской песенки про [[:w:Десять зелёных бутылок|Десять зелёных бутылок]], демонстрация работы цикла, ввода текста и оператора IF:
 
<source lang="vb">
 
<source lang="vb">
 
10 CLS
 
10 CLS
Строка 52: Строка 52:
  
 
== Достоинства языка ==
 
== Достоинства языка ==
# Опять же простота. Для освоения его не требуется особых усилий, изучить его может любая блондинка.
+
# Опять же простота. Для его освоения не требуется особых усилий, изучить его может любая блондинка.
 
# Встроен в Windows и Microsoft Office (VBA). Хорошая среда программирования для <del>наркоманов</del> секретарей. [http://carywalkin.wordpress.com/2013/03/17/arena-xlsm-released/ Ролевая игра на Excel].
 
# Встроен в Windows и Microsoft Office (VBA). Хорошая среда программирования для <del>наркоманов</del> секретарей. [http://carywalkin.wordpress.com/2013/03/17/arena-xlsm-released/ Ролевая игра на Excel].
 
# Удобен для написания коротких программ простыми людьми, то есть не программистами, что напрямую следует из 1-го пункта. {{Spoiler|На самом деле, для этого подходят почти все скриптовые языки}}
 
# Удобен для написания коротких программ простыми людьми, то есть не программистами, что напрямую следует из 1-го пункта. {{Spoiler|На самом деле, для этого подходят почти все скриптовые языки}}
 
== См. также ==
 
 
== Примечания ==
 
<references />
 

Текущая версия на 15:54, 3 октября 2015

Этой статье требуется доработка. Вы можете помочь, исправив и дополнив ее.
Сюда следует добавить: несколько подробней описать историю, привести примеры программ, дать описание классического Бейсика и современных релизов, напр. 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-го пункта. (спойлер: На самом деле, для этого подходят почти все скриптовые языки)