Все мы знаем, какой пиздец сейчас происходит с Украиной и одной известной вам страной-победительницей-фашизма. Если вы хотите почитать об этом, помочь актуализировать информацию или высказать свое мнение — можете сделать это в статье Война в Украине и в обсуждении.
BASIC — различия между версиями
KMB (обсуждение | вклад) |
Drkenny (обсуждение | вклад) |
||
(не показано 10 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
− | {{Навигация| | + | {{Навигация|Языки}} |
{{stub|help=yes|несколько подробней описать историю, привести примеры программ, дать описание классического Бейсика и современных релизов, напр. Visual Basic}} | {{stub|help=yes|несколько подробней описать историю, привести примеры программ, дать описание классического Бейсика и современных релизов, напр. Visual Basic}} | ||
− | {{Q|Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации.|[ | + | {{Q|w=70%|Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации.|[[:w:Дейкстра, Эдсгер Вибе|Дейкстра, Эдсгер Вибе]]}} |
− | '''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 — один из первых персональных компов. Позднее | + | Создан профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени в 1964 году как язык для обучения студентов программированию. Приобрёл популярность благодаря компании [[Некрософт]], которая в 1975 году выпустила версию данного языка под Альтаир 8800 — один из первых персональных компов. С Бейсика начинал <del>Тот, кого нельзя называть</del> некто Билл Гейтс, ещё учась в школе. Возможно, именно его детские воспоминания о хакинге на Бейсике заставили Microsoft так долго насиловать сей труп. Позднее та же компания запиливает QBasic для своей MS-DOS, в которую он входит в качестве бесплатного приложения, после чего создаёт Visual Basic как стандартный язык написания макросов для MS Office и затем Visual Basic.NET. В целом же популярность языка такова, что не существует ни одной платформы, под которой не было бы реализации Бейсика: есть даже реализации для микрокалькуляторов! |
== Причины популярности == | == Причины популярности == | ||
− | Основная причина | + | Основная причина сегодня — привычка писать на Бейсике тех, для кого он стал первым и последним языком. Так сложилось из-за продвижения этого языка Компанией Зла и простоты написания на нём программ базового уровня. Как только не называют Бейсик: «язык для чукчей», «язык туземцев», предполагая, что написать прогу на нём способен даже полный кретин. Так, в Бейсике не нужно объявлять переменные, как в C или Pascal — переменная автоматически создаётся при первом обращении к ней (что роднит этот язычок с [[PHP]]); впрочем, в последних, продвинутых, версиях объявление переменных таки обязательно. |
== Описание == | == Описание == | ||
− | Ниже будет дано описание классического Бейсика, примерно в том виде, | + | Ниже будет дано описание классического Бейсика, примерно в том виде, в каком он был изначально придуман. Следует иметь в виду, что современные релизы от классической формы по своей структуре отличаются, как небо и земля. |
− | В языке используется всего два типа переменных: строки и числа. Имена переменных состоят из латинских букв, строковая переменная обозначается символом '''$''' в конце имени. Команды представляют собой слова английского языка по смыслу совпадающие с тем, что команда должна | + | В языке используется всего два типа переменных: строки и числа. Имена переменных состоят из латинских букв, строковая переменная обозначается символом '''$''' в конце имени. Команды представляют собой слова английского языка, по смыслу совпадающие с тем, что команда должна делать — например, '''PRINT''', как видно из самого слова, — это печать чего-либо (по умолчанию на экран). Каждая команда имеет свой номер, обычно кратный 10, хотя всё зависит от воли программиста. Рекомендуется нумеровать команды примерно так, как указано выше — на тот случай, если возникнет необходимость вставить между двумя командами дополнительные. Ввод программы осуществляется построчно с консоли. Процедуры и функции в языке отсутствуют как таковые и представляют собой обычные фрагменты кода, располагаемые где-то начиная с номера 5000. Вызов такой «функции» осуществляется командой '''GOSUB''' с указанием метки (номера команды), возврат — командой '''RETURN'''. В операторе условного перехода '''IF…THEN''' отсутствует ветвь '''ELSE''', что вынуждает программиста использовать оператор '''GOTO''' (безусловный переход) для перехода на нужную команду программы. Вообще, '''GOTO''' — основная головная боль языка: в больших по объёму программах этих операторов накапливается столько, что часто сам автор запутывается в том, что, откуда и куда у него передаеётся. |
Пример типичной программы: | Пример типичной программы: | ||
Строка 22: | Строка 22: | ||
</source> | </source> | ||
Ввод и запуск этой программы с консоли языка может выглядеть примерно так: | Ввод и запуск этой программы с консоли языка может выглядеть примерно так: | ||
+ | |||
[[Файл:Basic hw.jpg]] | [[Файл:Basic hw.jpg]] | ||
− | == | + | Пример программы на мотив английской песенки про [[:w:Десять зелёных бутылок|Десять зелёных бутылок]], демонстрация работы цикла, ввода текста и оператора IF: |
− | + | <source lang="vb"> | |
− | + | 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 | ||
+ | </source> | ||
+ | Результат: | ||
+ | <pre> | ||
+ | 9 бутылок пива было на столе. Одну бутылку выпили | ||
+ | 8 бутылок пива было на столе. Одну бутылку выпили | ||
+ | 7 бутылок пива было на столе. Одну бутылку выпили | ||
+ | 6 бутылок пива было на столе. Одну бутылку выпили | ||
+ | 5 бутылок пива было на столе. Одну бутылку выпили | ||
+ | 4 бутылок пива было на столе. Одну бутылку выпили | ||
+ | 3 бутылок пива было на столе. Одну бутылку выпили | ||
+ | 2 бутылок пива было на столе. Одну бутылку выпили | ||
+ | 1 бутылок пива было на столе. Одну бутылку выпили | ||
+ | Нету больше пива | ||
+ | Бухать ещё? | ||
+ | </pre> | ||
− | == | + | == Достоинства языка == |
− | + | # Опять же простота. Для его освоения не требуется особых усилий, изучить его может любая блондинка. | |
− | + | # Встроен в Windows и Microsoft Office (VBA). Хорошая среда программирования для <del>наркоманов</del> секретарей. [http://carywalkin.wordpress.com/2013/03/17/arena-xlsm-released/ Ролевая игра на Excel]. | |
− | < | + | # Удобен для написания коротких программ простыми людьми, то есть не программистами, что напрямую следует из 1-го пункта. {{Spoiler|На самом деле, для этого подходят почти все скриптовые языки}} |
Текущая версия на 15:54, 3 октября 2015
Этой статье требуется доработка. Вы можете помочь, исправив и дополнив ее.
Сюда следует добавить: несколько подробней описать историю, привести примеры программ, дать описание классического Бейсика и современных релизов, напр. Visual Basic.
Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации.
История[править]
Создан профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени в 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
Ввод и запуск этой программы с консоли языка может выглядеть примерно так:
Пример программы на мотив английской песенки про Десять зелёных бутылок, демонстрация работы цикла, ввода текста и оператора 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 бутылок пива было на столе. Одну бутылку выпили Нету больше пива Бухать ещё?
Достоинства языка[править]
- Опять же простота. Для его освоения не требуется особых усилий, изучить его может любая блондинка.
- Встроен в Windows и Microsoft Office (VBA). Хорошая среда программирования для
наркомановсекретарей. Ролевая игра на Excel. - Удобен для написания коротких программ простыми людьми, то есть не программистами, что напрямую следует из 1-го пункта. (спойлер: На самом деле, для этого подходят почти все скриптовые языки)