Выбрать главу

Армия направила его в Лос-Аламосскую лабораторию Манхэттенского проекта, где он был назначен ассистентом по теоретической части. Вычислительный центр проекта использовал машины 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".