- PVSM.RU - https://www.pvsm.ru -

GOTO BASIC

«Инициация в программирование» (1997 году, на 286-х), вторые деньги, заработанные в школе за написание программ на информатике для двоечников (первые деньги были за решение задач по физике), призовое место на краевой олимпиаде по программированию (хотя принимали программы только на Паскале и Сях, я раздобыл BASIC-компилятор и вооружившись речью про дискриминацию, загружал exe-шники, сделанные на Бэйсике. Прокатило). Первые программы по шифрованию, поворот картинки на 90 градусов… Все это было на Бэйсике (а друзья даже писали музыку и 3д-тетрис).

Недавно на Хабре промелькнул перевод «50 лет Бейсику!» [1]и я решил поисследовать историю создания Бэйсиков.

1964

imageВ 1964 два профессора Дартмутского колледжа создали BASIC как инструмент, с помощью которого студенты-непрограммисты могли самостоятельно создавать компьютерные программы для решения собственных задач.

Джон Кемени [2], учился у Ричарда Феймана [3] и Алонзо Чёрча [4] (разработчик λ-исчисления [5]), водил знакомство с фон Нейманом [6] и консультировал Эйнштейна по математическим вопросам.

Томас Курц [7], учился у Джон Тью́ки (автора слов «software» и «bit»).

Оба награждены медалями «Пионер компьютерной техники».

Первоначально Бейсик был реализован на мейнфрейме GE-265 с поддержкой множества терминалов.
Вопреки распространённому убеждению, в момент своего появления это был компилируемый язык.

При проектировании языка использовались следующие восемь принципов. Новый язык должен был:
— быть простым в использовании для начинающих;
— быть языком программирования общего назначения;
— предоставлять возможность расширения функциональности, доступную опытным программистам;
— быть интерактивным;
— предоставлять ясные сообщения об ошибках;
— быстро работать на небольших программах;
— не требовать понимания работы аппаратного обеспечения;
защищать пользователя от операционной системы.

image
Джон Кемени обучает студентов Бэйсику.

image
Курц и Кемени помогают студентам разобраться с распечатками программы на Бэйсике.

image
Мат.программа на Бэйсике, запускаемая на мэйнфрейме удаленно. Телетайпы тогда работали с желтой бумагой. Представьте, что это не гифка, а лист бумаги выползающий из матричного принтера телетайпа.

еще старенькие фотки

image
Том Курц помогает профессору физиологии Джорджу Стибицу разобраться с языком Бэйсик

image
Доступ к мэйнфрейму с удаленного терминала

image
Удаленный доступ

image
Первый «дэйтинг» с девушкой из Калифорнии (вот для чего всё замышлялось!)

image
Покак красавчики назначают свидания, ботаники исследуют распечатки программ

image
Профессор геологии и профессор химии выполняют вычисления для своего проекта

image
Мэйнфрейм GE-225 сразу после выполнения программ на Бэйсике

image
Профессор математики Кемени. А чего добился ты?

1975

image
Да, это он

Altair 8K BASIC на бумажной ленте
image В 1975 году Microsoft (тогда это были лишь двое — Билл Гейтс и Пол Аллен, при участии Монте Давидова), выпустила Altair BASIC. Затем его версии появились на другой платформе под лицензией и скоро в использовании были уже миллионы копий и вариантов; один из вариантов, Applesoft BASIC, стал стандартным языком на Apple II. Для операционной системы CP/M был создан диалект BASIC-80, надолго определивший развитие языка.

Altair BASIC представлял собой новую веху в истории программ — первый язык программирования для первого персонального компьютера и первый программный продукт компании Microsoft.

BASIC был основным источником дохода Microsoft до начала 1980-х, когда она перешла к MS-DOS.

Подробнее про Altair BASIC [8] на Википедии

а вот и сам Altair
image

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

Наряду с интерпретатором Applesoft BASIC, впоследствии фирмой Microsoft был разработан полностью совместимый с ним компилятор Microsoft Applesoft Compiler, позволявший ускорить выполнение программ. Сам компилятор был написан на языке Applesoft BASIC и скомпилирован при помощи самого себя.

image
Игра написанная Стивом Возняком на Integer BASIC, написанном Стивом Возняком

Чтобы пользователь не запутался, Integer BASIC и Applesoft BASIC выдавали на дисплей различные символы подсказки для приглашения к вводу — «>» и «]» соответственно.

1978

Лео Кристоферсон: Android Nim
image

1979

image
Sinclair BASIC (назван по фамилии изобретателя сэра Клайва Синклера) — диалект языка программирования BASIC, применявшийся на 8-разрядных бытовых компьютерах в т.ч. и на ZX Spectrum
Коммент [9] с Хабра: «Моим первым Васиком был Sinclair BASIC, с ним я впервые приобщился к программированию. Писали на советских аналогах Спектрума «Дуэт» и «Нафаня». Мы жили тогда в небольшом городке и, страшно подумать, учили язык без гугла и почти без документации. Каждый новый оператор, каждая команда были Открытием, об их назначении и синтаксисе часто приходилось догадываться методом тыка, большой удачей считалось найти знающего человека и узнать у него пару-тройку новых фич. Было безумно радостно смотреть на свои первые программы: рисование джойстиком, перемещение простых фигур или даже проигрывание простых мелодий.»

1981

image
DONKEY.BAS входящий в комплект IBM PC в 1981. соавтор некто «Bill Gates»

1985

image
Quick Basic

Душевный коммент с Хабра

Я начинал с бейсика. С того самого Quick Basic. Потом был паскаль года до 1997, затем — Delphi, долго собирался с силами, чтобы выучить C — уж очень его синтаксис казался замудрёным после паскалевского. Пересел на C/C++ уже в институте, освоил C# потому, что он показался мне близким и похожим на Delphi. Сейчас занимаюсь Java и Android.

И вот, что я вам скажу. Наблюдая сегодняшнее состояние индустрии, в особенности ее отношение к новичкам, я не перестаю радоваться, как же мне повезло родиться на заре IBM PC.

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

Вопрос считаю не риторическим (во всяком случае, надеюсь, что ответ существует, хотя я его еще не нашел). И где вы сейчас найдете:

1. Простой язык, позволяющий постепенно понять, что такое циклы и условные переходы, операторные скобки, функции и внешние модули
2. Надёжную и элементарную IDE, заточенную строго под этот язык, рассчитанную на написание среднего размера программ, но которая при этом способна, например, вытаскивать одну функцию в рабочую область и скрывать остальные, чтобы большой объем кода не пугал неокрепший мозг [10]

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

В каком-то приближении годился бы C# и VS Express, но, вспоминая, сколько всего мне пришлось изучить, чтобы разобраться в Delphi (а ведь я уже в тот момент умел что-то кодить), я понимаю, что он сгодится только как второй шаг, но никак не первый.

В QBasic была даже валидация вводимого кода при его наборе (!) немыслимая по крутизне в те времена фича. Если не помните — валидный оператор превращался в Caps (print -> PRINT), а невалидный оставался как есть, намекая на ошибку.

От себя скажу — если бы я не нашел тогда этот язык и среду, возможно, одним программистом было бы меньше. Убежден, что многие со мной согласятся.
habrahabr.ru/post/221617/#comment_7557229 [11]

GOTO BASIC
В середине 1980-х Бейсик стал основным языком в сложных моделях программируемых калькуляторов, которые как раз к этому времени достигли мощности, допускающей применение полноценного языка высокого уровня. Бейсик(разг. «Васик») был встроен в советский калькулятор «Электроника МК-85» [12] и все его более поздние модели. Применение Бейсика в качестве основного ЯВУ программируемых калькуляторов продолжается по сей день; в настоящее время именно «калькуляторный» Бейсик более всего похож на изначальный вариант 1960-80х годов

1987

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

В отличие от большинства реализаций Бейсика того периода, Turbo Basic был полным компилятором, генерировавшим родной код для MS-DOS. Прочие реализации были или лишь интерпретаторами или сильно зависели от библиотеки времени исполнения. В самой IDE можно было запускать программы на языке Бейсик для традиционной отладки Бейсик-кода (см. ниже) или генерировать отдельный исполнимый файл для MS-DOS, который можно было запускать на других системах без установки Turbo Basic или библиотек для запуска.

Когда Borland приняла решение прекратить выпуск этого продукта, Зейл выкупил его обратно, в 1990 году переименовав его в PowerBASIC, и основал PowerBASIC Inc. для продолжения его поддержки и развития.

1991

«Теперь и начинающие программисты могут легко создавать приложения для Windows»

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

2003

image
MobileBASIC — интерпретируемый язык программирования, используемый для мобильных телефонов с поддержкой MIDP-2.0. Существует в 4 реализациях: как среда программирования для компьютера, как обычный мидлет для мобильных устройств, как приложение для устройств под управлением Android и iOS.

Появился язык в 2002 году благодаря программисту Дэвиду Фёрту (англ. David J Firth), как легкое и удобное средство разработки программного обеспечения для мобильных телефонов.

2004

image FreeBASIC — язык программирования высокого уровня по синтаксису наиболее близкий к QuickBASIC, а также компилятор для него (FreeBASIC Compiler). Первоначально компилятор разрабатывался как свободная альтернатива Microsoft QuickBasic, но быстро оброс новыми возможностями и стал мощным средством разработки. Первые версии компилятора были написаны на Visual Basic, но теперь он может откомпилировать сам себя (написан на FreeBASIC).

Фото с празднования на Flickr [13]

First BASIC Instruction Manual [14] from 1964 (550 kb PDF)
Structured Programming with GOTO Statements [15] (DONALD E. KNUTH)
Статья в Time: «Fifty Years of BASIC, the Programming Language That Made Computers Personal» [16]

ПС
Список [17] из 318-ти Бэйсиков

F5

Автор: MagisterLudi

Источник [18]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/63476

Ссылки в тексте:

[1] «50 лет Бейсику!»: http://habrahabr.ru/post/221617/

[2] Джон Кемени: http://ru.wikipedia.org/wiki/Кемени,_Джон_Джордж

[3] Ричарда Феймана: http://ru.wikipedia.org/wiki/%D0%A4%D0%B5%D0%B9%D0%BD%D0%BC%D0%B0%D0%BD,_%D0%A0%D0%B8%D1%87%D0%B0%D1%80%D0%B4_%D0%A4%D0%B8%D0%BB%D0%BB%D0%B8%D0%BF%D1%81

[4] Алонзо Чёрча: http://ru.wikipedia.org/wiki/%D0%A7%D1%91%D1%80%D1%87,_%D0%90%D0%BB%D0%BE%D0%BD%D0%B7%D0%BE

[5] λ-исчисления: http://ru.wikipedia.org/wiki/%D0%9B%D1%8F%D0%BC%D0%B1%D0%B4%D0%B0-%D0%B8%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5

[6] фон Нейманом: http://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD,_%D0%94%D0%B6%D0%BE%D0%BD_%D1%84%D0%BE%D0%BD

[7] Томас Курц: http://ru.wikipedia.org/wiki/%D0%9A%D1%83%D1%80%D1%86,_%D0%A2%D0%BE%D0%BC%D0%B0%D1%81

[8] Altair BASIC: http://ru.wikipedia.org/wiki/Altair_BASIC

[9] Коммент: http://habrahabr.ru/post/221617/#comment_7552769

[10] мозг: http://www.braintools.ru

[11] habrahabr.ru/post/221617/#comment_7557229: http://habrahabr.ru/post/221617/#comment_7557229

[12] «Электроника МК-85»: http://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-85

[13] Flickr: https://www.flickr.com//photos/dartmouthflickr/sets/72157644040508078/show/

[14] First BASIC Instruction Manual: http://www.dartmouth.edu/basicfifty/basicmanual_1964.pdf

[15] Structured Programming with GOTO Statements: http://cs.sjsu.edu/~mak/CS185C/KnuthStructuredProgrammingGoTo.pdf

[16] «Fifty Years of BASIC, the Programming Language That Made Computers Personal»: http://time.com/69316/basic/

[17] Список: http://en.wikipedia.org/wiki/List_of_BASIC_dialects

[18] Источник: http://habrahabr.ru/post/227711/