Джон Кемени и Томас Курц Создатели популярного языка BASIC
Джон Кемени и Томас Курц
Создатели популярного языка BASIC
В прошлом веке один английский миссионер, желая приобщить туземцев к цивилизации, выделил из английского языка самую распространенную и самую простую его часть и стал учить туземцев такому упрошенному английскому языку… Назвали его "Basic English", т. е. "основной английский". Язык привлекал своей простотой и вскоре завоевал популярность не только среди туземцев, но и эмигрантов.
В 1964 году был разработан новый Бэйсик, но уже для других "туземцев" — людей, не владеющих языком общения с ЭВМ. Назвали его тоже BASIC, что является аббревиатурой английской фразы: "Beginner’s All — purpose Symbolic Instruction Code", т. e. "многоцелевой язык символических инструкций для начинающих"… Как и первый Бэйсик, второй быстро завоевал популярность среди "туземцев" — пользователей ввиду своей простоты и доступности.
Леонард Растригнн
Джон Кемени
Действительно, история создания BASIC связана с поисками путей решения проблемы, как обучать студентов доступному пониманию техники программирования, как научить их простому общению с компьютером.
Двое профессоров Дартмутского колледжа Джон Кемени и Томас Курц занялись этой проблемой в конце 50-х годов XX века. Прежде всего, они поняли, что необходим такой компьютер, который бы был легок в изучении и использовании и не требовал больших усилий со стороны студентов.
Причем было ясно, что студенты не захотят работать с перфокартами, поэтому для общения с компьютером необходимы режим разделения времени и диалоговый режим работы с машиной.
Кроме того, решению указанной проблемы содействовала необходимость разработки нового языка программирования, который можно было легко изучать и которым легко было бы пользоваться. Применение языка ассемблера или таких языков, как ALGOL или FORTRAN, было вне обсуждения, исходя из предшествующего опыта преподавания.
Джон Кемени и Томас Курц успешно решили перечисленные проблемы и создали самый популярный язык программирования XX века.
Джон Джордж Кемени родился 31 мая 1926 года.
Томас Курц
В 1938 году после захвата Австрии Гитлером его отец уехал их Венгрии в США, а в начале 1940 года туда же перебралась вся его семья — жена, дочь и сын Джон. Они поселились в Нью- Йорке. Джон поступил в Высшую школу имени Джорджа Вашингтона и закончил ее лучшим в классе за три года. Кемени позднее рассказывал про свой школьный опыт с тестом на вербальные способности: "У меня не было словаря, и я мог понимать только несколько слов в каждом вопросе, но это был тест с вариантами ответов, и я понимал достаточно, чтобы найти правильный. Я "взломал" код и получил одну из самых высших оценок в Нью-Йорке".
В 1943 году он поступил в Принстонский университет, чтобы изучать математику. Он получил американское гражданство и в 1945 году, когда ему исполнилось 18 лет, был призван в армию.
Армия направила его в Лос-Аламосскую лабораторию Манхэттенского проекта, где он был назначен ассистентом по теоретической части. Вычислительный центр проекта использовал машины IBM, работавшие с перфокартами 24 часа в сутки, 6 дней в неделю. После того как была установлена первая дартмутская система разделения времени, Кемени говорил про работу в Лос-Аламосе: "Понадобилось две недели, чтобы получить численное решение дифференцированного уравнения. Я сказал бы, что работа, которую мы делали — двадцать человек целый год — могла бы быть сделана одним второкурсником Дартмута за один день… И пока он делал бы это, 250 человек могли бы пользоваться этим же компьютером".
В 1946 он вернулся в Принстон, где в 1947 году получил степень бакалавра искусств "summa cum laude". Во время подготовки своей диссертации Кемени целый год работал ассистентом у Альберта Эйнштейна в Институте перспективных исследований. Большую часть своего времени он проводил, изучая работы Эйнштейна по общей теории поля.
Кемени защитил докторскую диссертацию по математике в Принстоне в 1949 году, когда ему было 23 года. Затем он два года преподавал математику в Принстоне, а следующие два — философию. В 27 лет, в 1953 году, он в должности профессора поступил на факультет в Дартмутском колледже, чтобы преподавать математику и философию. Два года спустя, в 1956 году, он был назначен директором отделения математики.
В этом же году Томас Э. Курц, другой молодой доктор математики и философии из Принстона, приехал в Дартмут уже с опытом работы с компьютерами, полученным в результате летней работы в UCLA.
Томас Курц родился 22 февраля 1928 года в штате Иллинойс. В 1950 году закончил Кнокс Колледж в Гамбурге, штат Иллинойс, где отдавал предпочтение математике. Восхищаясь Кемени, он приехал учиться в Принстон, где закончил свою докторскую диссертацию по статистике, получив степень в 1956 году. Основной проблемой его изучения было сравнение кратных чисел в математической статистике.
Кемени и Курц хотели найти способ научить большое число дартмутских студентов нетехнического профиля работе с компьютерами — не обучать специалистов по информатике, а убедить студентов общего профиля в преимуществе компьютеров и программирования. У них была революционная идея создания таких компьютеров, которые могли бы быть полезны студентам как книги. Сначала они заставили Дартмут издать приказ, по которому все студенты — как изучающие точные науки, так и не изучающие — должны были изучать основы вычислительной техники.
Две вещи были необходимы для осуществления их мечты: более легкий доступ к компьютеру, чем пакетная обработка, и простой язык программирования. С наступлением 1956 года Кемени и Курц создали язык "DARtmouth SIMplified Code", но он оказался хуже, чем FORTRAN. В 1962 году Кемени и его аспирант написали предшественник BASIC, "Dartmouth Oversimplified Programming Experiment", другой не вышедший в свет язык.
В 1959 году Дартмут приобрел компьютер Royal МсВее LGP-30. Курц говорил о нем: "Большой, как холодильник, он имел только 16 000 байт памяти и мог выполнять только 60 операций в секунду. Но это был наш первый компьютер, и мы считали, что это великолепно! Джон и я вместе с нашими женами поехали в Бостон и привезли его в Дармут в вагоне поезда". С этим компьютером они работали по своему плану с несколькими студентами, пробовали языки, пробовали инструментальные подходы, искали идеи. Джон Маккарти из MIT развил основную концепцию режима разделения времени на большой машине IBM. Дармут не был в состоянии позволить себе такое, но в начале 1963 года с помощью премии Национального Научного фонда и скидок продавца Дартмут смог приобрести компьютеры DATANET-30 и GE 225, оба с аппаратным обеспечением для поддержки разделения времени и многими терминалами ввода-вывода. Кемени написал компилятор для черновой версии BASIC к следующей весне. В это же время два студента писали операционную систему.
В четыре часа дня 1 мая 1964 года BASIC и Дартмутская система разделения времени (DTSS) впервые заработали. Первая программа на BASIC, опубликованная Кемени и Курцем, имела вид
10 LET X = (7+8) / 3
20 PRINT X
30 END
К осени Дартмут имел 20 соединенных терминалов. Через несколько месяцев первые интерактивные обучающие игры и имитаторы начали появляться в Дартмутской системе. Джин был выпущен из бутылки. DTSS широко распространилась как в обучающих, так и в коммерческих учреждениях и стала основой информационной бизнес-службы General Electric.
BASIC все больше завоевывал свои позиции. Его простота и возможности были причинами его универсального принятия как встроенного языка микрокомпьютеров. Он преподавался почти во всей высшей школе и колледжах как язык для первого знакомства с компьютерами. Несмотря на постоянные нападки со стороны компьютерных специалистов и академических наставников, он оказывал огромную помощь в образовании, для чего и был разработан. Это "lingua franca" вычислительной техники, используемый в качестве примера в энциклопедии для объяснения программных элементов.
В 1975 году Кемени и Курц переделали язык, добавив структурные черты и убрав оператор GOTO, но мир не уделил этому должного внимания, создавая, изменяя и используя несчетное число версий любимого и широко используемого BASIC. Целые серии языков, являющиеся лишь вариантами оригинальной версии Кемени — Курца: MITS BASIC, Tiny BASIC, BASIC, BASIC-09, профессиональный BASIC, Macintosh BASIC, Microsoft BASIC. Кемени и Курц называли это "улицей BASIC".
В 1978 году ANSI (Американский национальный институт стандартов) опубликовал первый стандарт для BASIC, но компьютерная промышленность проигнорировала его. Работать с новым стандартом начали лишь тогда, когда Курц стал председателем Комитета по техническим проектам.
Летом 1983 года Кемени и Курц решили объединить усилия и создать такую версию BASIC, которая была бы совершеннее, чем PASCAL. И они создали так называемый True BASIC, который был "спущен на воду" 5 марта 1985 года. Он был более мощным, чем BASIC, имел интерфейс и командную структуру, понятную компьютеру. В скором времени ANSI присвоил стандарт и новой версии BASIC.
Кроме совместных с Курцем работ по совершенствованию BASIC, на Джона Кемени были возложены большие административные обязанности. С 1970 года он был президентом Дартмута, оставаясь на этом посту 11 лет. Популярный и полный сил президент Кемени сделал много полезного для студентов и преподавателей, а также для изменения имиджа колледжа.
После завершения своего пребывания на посту президента Дартмута в 1981 году он вернулся к преподаванию на отделении математики. До 1992 года он продолжал активную деятельность в Дартмуте как заслуженный профессор.
26 декабря 1992 года Джон Кемени неожиданно скончался от сердечного приступа в Лебаноне, штат Нью-Гемпшир. Ему было 66 лет.
Кемени являлся автором и соавтором 13 книг, среди которых: "Введение в конечную математику", "Программирование на языке BASIC", "Руководство по программированию на BASIC" и др. Он был удостоен многих наград и премий, таких как премия Нью-Йоркской национальной академии, премия пионера в области вычислительной техники, премия IBM Льюиса Робинсона и др.
Томас Курц длительное время исполнял обязанности Американского национального комитета по стандартам и продолжал преподавать математику и компьютерные науки.
А что стало с BASIC в конце XX и начала XXI столетий. В начале 90-х годов должны были появиться компьютеры пятого поколения, о проекте создания которых японцы заявили еще в 80-х годах. В качестве основного языка программирования в этом неосуществленном проекте предусматривался язык PROLOG. Любопытные соображения по этому поводу высказал в те годы Р. Форсайт: "Если Вам необходимо использовать PROLOG, то подождите, пока он будет "проглочен" языком BASIC, этим питоном, пожирающим все, что лежит на его пути. BASIC только что закончил "переваривать" язык PASCAL со всеми его управляющими структурами. После небольшой паузы и нескольких отрыжек он будет в состоянии "слопать" PROLOG, так что мы увидим варианты языка BASIC со встроенным механизмом доказательства теорем методом резолюций. Тогда наступит время подумать о возможном переходе на PROLOG".
И как бы в подтверждение этих оригинальных высказываний Р. Форсайта в 1991 году фирма Microsoft выпустила первую версию языка VISUAL BASIC (VB). В 1992 году вышла вторая версия, в 1993 — третья, в которой были значительно улучшены средства для работы с базами данных, а появление в октябре 1995 года VB 4.0 внесло в этот язык принципиально новые возможности, такие как использование технологии OLE и возможность создания повторно используемого двоичного кода, который может быть реализован в DLL-библиотеках. С пятой версии VISUAL BASIC, которая появилась в 1997 году, язык стал полностью объектно-ориентированным. С выходом этой версии никто уже не может сказать, что это язык для начинающих программистов. По данным конца 90-х годов ушедшего столетия число программистов, использующих VB 5.0, не уступает таким средствам разработки, как DELPHI и VISUAL C++.