В 1925 году британский лингвист Чарльз Огден разработал упрощенный вариант английского языка для международного делового общения. Он предполагал, что этот язык поможет в обучении жителям стран, для которых английский не является родным. Собственную версию языка он назвал British-American Scientific International Commercial English, сокращенно — BASIC-English. Примерно такую же задачу спустя 39 лет решал американский кибернетик Томас Курц — он пытался разработать простой и понятный язык программирования высокого уровня, который помог бы освоить компьютерные технологии студентам, никогда ранее не сталкивавшимся с ЭВМ. По аналогии с работой Огдена этот язык назвали Beginner’s All-purpose Symbolic Instruction Code, BASIC. Сегодня Томасу Курцу исполняется 95 лет.
Томас Юджин Курц родился 22 февраля 1928 года в небольшом городке Ок-Парк, пригороде Чикаго. С компьютерами он впервые познакомился в 1951 году во время летней практики, которую проходил на факультете численного анализа Калифорнийского университета в Лос-Анджелесе. Тогда же он написал свою первую программу. Основным направлением образования Курца была математическая статистика, и университетский компьютер должен был помочь ему в выполнении сложных статистических расчетов, на которые иначе пришлось бы потратить не один день. Тогда же Курц осознал, насколько сложно программировать ЭВМ в машинных кодах, перенося программу на перфоленту — единственная ошибка могла обойтись очень дорого. Программа сначала составлялась на бумаге, тщательно проверялась, потом набиралась на клавиатуре и с помощью перфорационной машины переносилась на ленту, с которой впоследствии загружалась в компьютер. Если в код все-таки закралась ошибка, нужно было переписать неверный фрагмент программы, а потом заменить дефектный фрагмент ленты. Курц составлял свои программы в институтской библиотеке. Там он и загорелся идеей сделать компьютеры максимально доступными для студентов, так, чтобы неопытный пользователь мог взаимодействовать с ЭВМ столь же легко и просто, как с обычной книгой.
Закончив аспирантуру в Принстонском университете, Курц стал преподавателем Дармутского колледжа и принялся воплощать свои мечты в жизнь. В те времена, (а это было начало шестидесятых) компьютерами были оснащены лишь крупные вычислительные центры больших корпораций, научные организации и учебные заведения, то есть, «простым смертным» они были недоступны. Первым шагом на пути к популяризации компьютерных технологий для широких народных масс учащихся стала система терминального доступа с разделением времени, реализованная в операционной системе Dartmouth Time-Sharing System (DTSS), разработкой которой Курц занялся в колледже.
ЭВМ Royal McBee LGP-30
Проект стартовал в 1959 году: колледж приобрел компьютер Royal McBee LGP-30, использовавший в качестве основного устройства ввода электрическую пишущую машинку — этот компьютер позволял писать программы на одном из диалектов Ассемблера. Именно на ней Курц и его коллеги стали испытывать DTSS, с помощью которой студенты могли подключаться к ЭВМ удаленно через терминалы. Вскоре Томас Курц и два его студента написали для LGP-30 компилятор языка Алгол-30 — созданного ими специально для этой машины диалекта Алгол 58. В свою очередь, на основе этого языка преподаватель программирования и математики Джон Кемени вместе с первокурсником Сидни Маршаллом создал DOPE — Dartmouth Oversimplified Programming Experiment, «Дармутский эксперимент по упрощенному программированию». Это был похожий на Алгол язык высокого уровня с максимально упрощенным синтаксисом. Практическое применение у такого языка оказалось весьма ограниченным, зато он мог дать студентам начальное представление о принципах алгоритмического программирования. DOPE должен был упростить для ребят переход от рисования блок-схем к написанию простого компилируемого кода, то есть, был чисто образовательным проектом. Вскоре Курц доработал идеи Кемени-Маршалла, добавил несколько новых команд и немного усовершенствовал транслятор. Так на свет появился BASIC.
Дармутский колледж, где появился Бейсик
Самую первую программу на Бейсике Курц и Кемени скомпилировали 1 мая 1964 года в 4 часа утра, причем оба разработчика не считали это началом чего-то грандиозного. Они просто создали удобный и понятный инструмент обучения программированию для своих студентов. Авторские права на Бейсик принадлежали Дармутскому колледжу, где трудились оба преподавателя, и где этот язык был разработан, но само учебное заведение стало распространять компилятор бесплатно без каких-либо ограничений. По поводу выбора названия для своего языка Курц писал в воспоминаниях: «Нам нужно было какое-то слово, простое, запоминающееся, но не тривиальное, и аббревиатура BASIC подошла лучше всего».
Вскоре американские издательства выпустили несколько книг по основам программирования, где в качестве базового инструмента использовался Бейсик. Язык начал стремительно набирать популярность, которая быстро вышла за пределы США — Бейсик стали изучать в Европе, а затем он постепенно вошел в школьную программу многих стран, включая СССР. Пользовалась популярностью и созданная Курцем система терминального доступа с разделением времени — ее применяли многие учебные заведения, не имевшие в своем распоряжении собственных компьютеров. На базе DTSS Курца компания General Electric разработала собственную систему терминального доступа для образовательных учреждений. Томас Курц говорил во многих интервью, что DTSS и Бейсик позволили тысячам школьников и студентов колледжей впревые прикоснуться к компьютерным технологиям и в корне изменить свою жизнь. Впрочем, можно сказать, что созданные им технологии изменили направление развития компьютерных технологий и жизнь человечества в целом.
В 1968 году преподаватель математики школы Лейксайд в пригороде Сиэтла по имени Билл Дугалл обратился к родительскому комитету школы с предложением потратить три тысячи долларов, полученные от ежегодной благотворительной школьной распродажи, на аренду компьютерного терминала Teletype Model 30 и покупку времени для подключения по протоколу DTSS к компьютеру General Electric в местном университете. Он сумел убедить родителей, что ученикам, собирающимся поступать в колледж, необходимо знакомство с компьютерами, и был уверен, что это знакомство перевернет их жизнь, а также, возможно, определит их будущую судьбу. Разрешение было получено, и он стал вести факультативные занятия, на которые ученики могли приходить после основных уроков. Таким образом, школа Лейксайд стала единственной школой в Сиэтле, в которой были уроки информатики, где преподавали Бейсик, и имелся доступ к настоящему компьютеру. Некоторые ученики поспешили воспользоваться этой уникальной возможностью. Особенно отличались среди них два школьника, проявлявшие к занятиям Дугалла особый интерес. Парнишек звали Билл Гейтс и Пол Аллен. Но это уже совсем другая история…
Комментарии (25)
victor_1212
00.00.0000 00:00+5интересная статья, спасибо, небольшое дополнение
> Проект стартовал в 1959 году: колледж приобрел компьютер Royal McBee LGP-30
на самом деле Royal McBee это компания по обслуживанию, LGP-30 создана Librascope ( LGP= Librascope General Purpose), по тем временам одна из самых интересных машин доступных за разумную цену, на ней начинали программировать очень многие (например Margaret Hamilton), сама машина ламповая, память на барабане 16kB, слово 31b, но сделана грамотно всего 113 ламп, на этом по сути калькуляторе Margaret Hamilton писала программы моделирования погоды под руководством Edward Lorenz, одного из создателей теории deterministic chaos, Lorenz attractors были впервые моделированы именно на LGP-30,
см. https://mathworld.wolfram.com/LorenzAttractor.html
интересно что LGP-30 не имела обычных индикаторов регистров, вместо этого надо было следить за данными чтения с МБ на 3х трубках, можно только догадываться чего стоила отладка программ
jobless
00.00.0000 00:00+1Это было несколько позже и буквально один эпизод на пару недель, аж в 1983 году, но более удобного отладчика я в своей жизни больше не встречал!
jobless
00.00.0000 00:00https://en.wikipedia.org/wiki/Dartmouth_Time_Sharing_System
Тут более подробно про DTSS
И на "сладкое" действующий эмулятор
Особенное моё восхищение вызвала фраза
Two students, John McGeachie and Michael Busch, wrote the operating systems for the DATANET-30 and GE-225; Kemeny contributed the BASIC compiler.
jobless
00.00.0000 00:00И я совсем недавно из этих и других материалов впервые узнал, что первый basic был совсем не интерпретатор, а компилятор. А интерактивность обеспечивала по сути про родительница IDE, интерактивная среда подготовки исходников.
vadimk91
00.00.0000 00:00+2Прочитал по DTSS и вспомнил, как в ~1988 году на кафедре вычислительной техники в институте (ЛЭИС) внедряли какую-то надстройку над интерпретатором BASIC для подключения 5 терминалов к одной СМ-1800. Это был промышленный компьютер с процессором 580ВМ80, 64 кбайтами оперативки и в 8" дисководами, приспособленный для класса обучения студентов. Тогда я был первокурсником, поэтому не знал, как это система функционировала, но "участвовал в процессе внедрения" :) - зачитывал с листов коды ассемблера, который старшие товарищи вбивали на терминале. В результате каждой сессии доставалось по-моему порядка 3 килобайт оперативки под программу, для учебных целей хватало, но не более. Но самый кайф был когда удавалось записать на "монопольный режим" использования, вне времени учебных занятий, вот тогда на том же бейсике можно уже было писать более-менее серьезные программы.
MagisterAlexandr
00.00.0000 00:00-1Подружись со мной, компьютер!
MagisterAlexandr
00.00.0000 00:00-1Не нравится кому-то... А ведь тогда, в начале 90-х, книга разошлась тиражом в 55000 экземпляров.
wormball
00.00.0000 00:00+1Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они умственно изувечены без надежды на восстановление.
Эдсгер ДейкстраPuerteMuerte
00.00.0000 00:00+4Я не думаю, что Дейкстра что-то подобное мог сказать в реальности, по крайней мере, всерьёз. В период активности Дейкстры каких-то других студентов крайне сложно было найти, а Бейсик был самым обычным языком программирования, со своими особенностями применения, но тем не менее, не лучше и не хуже других, как минимум, по стилю написания кода. Тем более что фразу эту датируют 1975-м годом.
AndreyDmitriev
00.00.0000 00:00+1Ну оригинал находится достаточно легко - тыц 1, тыц 2. Вот скриншот:
Не верить этим источникам вроде оснований нет, это судя по всему из книги Selected Writings on Computing: A personal Perspective взято. У Дейкстры было плохое настроение, там не только про Бейсик, он и по другим языкам прошёлся. На самом деле я в чём-то с ним согласен. Пройдя "классический" путь обучения Фортран->Паскаль->Модула-2->Си->Дельфи->С#, Бейсик я впервые увидел ни Синклере у коллеги году этак в 91-м, но уже зная Фортран/Паскаль/Си, и будучи, так сказать, ментально подготовленным. Как первый язык для обучения он не очень. Первое ощущение было - ну такое себе, для замены программирумого калькулятора сойдёт. Кстати ровно тоже самое наблюдаю с LabVIEW программистами - если человек начинает программировать в этой среде, не обладая знаниями хотя бы Си, то дальнейшее развитие идёт с большим трудом и перекосом. Хотя по большому счёту язык тут абсолютно ни при чём, я видел довольно большой проект на Visual Basic, там всё в общем норм было.
PuerteMuerte
00.00.0000 00:00Ну может и правда настроение у него было так себе :) В 1975-м году распространённым конкурентом Бейсика был Фортран-66, который от того Бейсика отличался разве что более развитой системой типов и набором математических функций. Паскаль и Си ещё особо и не вышли за пределы своих универов/компании-разработчика соответственно.
msdos9
00.00.0000 00:00Похоже на "вентилятор". Всё-таки поведусь на провокацию и замечу, что в 80-х годах бейсик был единственным ЯП при обучении в школах.
MagisterAlexandr
00.00.0000 00:00+1А тех, кто использует GOTO, вообще в котёл да на угли навечно, да? :D
MagisterAlexandr
00.00.0000 00:00Интересно, что сказал бы Дейкстра о тех, кто пишет программы на Bash.
jobless
00.00.0000 00:00Фрагмент истории про двух мальчиков разместил на одном из посещаемых мной зарубежных форумах про один из современных basic-ов. Получил ответ из Adelaide, South Australia :
Rats! I was a student at Lakeside only 4 years before that in 1964. I do not recall a teacher by that name but may not have encountered him, either.
I did, however, have a computing class in 1970 at my high school, north of Seattle. We were taught Fortran. Had a big punch-card typewriter. Sent the cards to the school district's IBM 1401.
LordDarklight
Всегда думал, что ЯП Basic придумал именно Билл Гейтс....
LordDarklight
Ну вот за что минусуете. Я же ничего не утверждал, а наоборот - констатировал своё невежество (и многие тоже считаю как я) - и хотел бы получить прояснение - откуда тогда пошло это ложное поверье - что Бейсик придумал Гейтс
CyberPaul Автор
Нет, Гейтс в свое время написал очень компактный компилятор Бейсика для Altair 8800, на чем заработал свои первые серьезные деньги. Но язык придумал не он.
Holger108
Не только.
Спасибо Microsoft за наше счастливое детство - у меня был MSX-BAISIC, написанный MS.
В компьютерный класс мог прийти любой желающий, играть в игры или заниматься какой-нибудь фигнёй. Младшеклассники учили друг друга командам BAISIC, старшеклассники рубились в Metal Gear.1987 год, Малокурильская средняя школа.
amatveets
билли просто портировал его под msdos и приложил усилия в направлении Visual Basic
PuerteMuerte
Не «просто портировал», а «написал интерпретатор с нуля» и не под MS DOS, а под Altair, а в направлении Visual Basic усилия уже прилагал отнюдь не Билл Гейтс, а совсем другие программисты :)
Alyoshka1976
Интересно, что Пол и Билл делали Бейсик, не обладая 8080-м "железом". Пол на Фортране написал эмулятор 8080-го для "большой" машины (он доступен в Интернете, я копался в нем, добиваясь прохождения "экзесайзера" моим "нанокомпьютером"). А Билл создал интерпретатор Бейсика, который и тестировал исключительно на этом эмуляторе.