Джон Д. Кемени, изобретатель Basic

Джон Д. Кемени – создатель языка программирования Basic, учёный, преподаватель и реформатор, наследие которого используется и сегодня. Предлагаем читателям познакомиться с его биографией.

В 1950-х компьютеры могли говорить и понимать английский язык. Любой мог общаться с ними, никаких специальных навыков для этого не требовалось.

Удивлены? В те дни компьютеры не были машинами, которые мы привыкли видеть сегодня. «компьютер» – это ещё одно название должности (как, например, «главный исполнительный директор» или «механик») людей, которые помогали с расчётами.

Компьютеры часто были из бедных семей, и поэтому на работе на них тоже смотрели свысока. Фильм 2016 года «Скрытые фигуры» рассказывает историю некоторых из этих компьютеров: Кэтрин Джонсон, Дороти Воган и Мэри Джексон, доселе неизвестные дамы, которые из-за кулис сделали важные вычисления, позволив первым американцам отправиться в космос.

Сравните это с уважением к электронным компьютерам того времени. Большие, громоздкие машины, созданные из выключателей, реле, вращающихся валов и сцеплений.

В качестве примера можно привести семнадцать машин IBM ASCC, также называемых Harvard Mark I, из Лос-Аламосской национальной лаборатории, США. Они не могли говорить по-английски. Обученные специалисты-техники будут вводить инструкции с помощью кнопок или перфокарт, и им потребуются недели, чтобы решить даже самые простые проблемы. А проблемы того периода были совсем непросты: операторы пытались вычислить последствия взрыва атомной бомбы.

Mark I – или «калькуляторы», как их называли – первые компьютеры, с которыми столкнулся Джон Д. Кемени (John G. Kemeny), когда присоединился к Манхеттенскому проекту в 1943 году. Вряд ли он тогда знал, что изобретёт язык, который в последствие сделает компьютерное программирование достаточно легким для всех и каждого.

Но давайте немного перемотаем назад.

Джон Джордж Кемени, или Кемени Янош Джёрджи, родился в Будапеште, Венгрия, в 1926 году – в последний день мая, если быть точным. Его отец уехал в Соединённые Штаты в 1938 году, когда Гитлер пришел к власти в Германии, и анти еврейские настроения в Венгрии стали неизбежными. Вся семья присоединилась к нему в Нью-Йорке два года спустя, когда юному Кемени было всего четырнадцать лет.

Несмотря на то, что ему пришлось изучать и подтягивать английский язык, Кемени хорошо учился в средней школе Джорджа Вашингтона и закончил её с лучшими результатами в своём классе три года спустя. Именно тогда он поступил в Принстонский университет для изучения математики и философии.

К тому времени Венгрия объединила свои силы с силами Оси, возглавляемыми Гитлером. Холокост унёс жизни многих людей. Среди них был дедушка Джона Кемени, который отказался покинуть страну, а также дядя и тётя.

США вступили в войну, и, опасаясь, что противник создаст атомную бомбу, они начали секретный проект по созданию собственной. Это был Манхеттенский проект, и Джон Кемени был одним из тех, кто вызвался помочь в этом.

Получив годичный отпуск из Принстона, он отправился в Лос-Аламосскую национальную лабораторию, где работал под руководством известного физика Ричарда Фейнмана (Richard Feynman). Находясь там, Кемени также начал работать с Джоном фон Нейманом (John von Neumann), ещё одним математиком венгерского происхождения, наиболее известным своим вкладом в вычислительную технику и введением термина «кибернетика».

Тем не менее, самым известным человеком, с которым Кемени довелось работать, по крайней мере, для широкой публики, был бы Альберт Эйнштейн (Albert Einstein).

Это было в 1948 году, после того, как Кемени получил степень бакалавра и начал работать над докторской диссертацией под руководством Алонзо Чёрча (Alonzo Church).

Эйнштейн нуждался в помощи с математикой. Конечно, Эйнштейн был довольно приличным математиком, но его специальностью была физика. Он не был в курсе новейших математических разработок – тут-то на помощь и пришли ассистенты-исследователи.

У Эйнштейна было несколько ассистентов-исследователей, и Кемени был одним из них. Они предоставили ему новейшие математические методы, но была и другая причина.

Видите ли, все делают ошибки, и чем длиннее вычисление, тем больше возможностей для ошибок. А вычисления, с которыми работал Эйнштейн, были очень долгими: вывод одной формулы из другой для решения дифференциального уравнения в процессе, который, по мнению Кемени, может продолжаться вечно. Обнаружить ошибки было довольно трудно – или, как сказал бы программист, «нет никакого способа отладить такой беспорядк».

Решение? Несколько человек работают над одной и той же проблемой. Эйнштейн и Кемени (или другие научные сотрудники) будут работать над той же проблемой независимо друг от друга и в конце сравнять ответы. Поскольку расчёты были очень длинными, совпадение ответов гарантировало бы их верность. Не так много шансов, что все совершали абсолютно одинаковые ошибки абсолютно одинаково!
Так что до того, как Кемени начал работать на компьютерах, он сам работал в качестве «компьютера».

В 1949 году, в возрасте 23 лет, Кемени завершил работу над докторской диссертацией на тему «Теория типов против теории множеств» под руководством Алонзо Чёрча. В 1951 году он вступил в брак с Джин Александер (Jean Alexander) из прибрежного штата Мэн, США. О её роли в его профессиональной жизни мы расскажем чуть позже.

В 1953 году, через 4 года после своей диссертации, Кемени начал преподавать на математическом факультете Дартмутского колледжа, а через два года стал там (на факультете) руководителем. Именно там Кемени познакомился с Томасом Курцем (Thomas Kurtz), ещё одним доктором наук из Принстона, которому сократили зарплату в Дартмуте, и он искал способы увеличить свой доход.

Кемени предложил исследовательскую стипендию IBM при вычислительной площадке MIT. Это произошло летом 1956 года. Специалист по компьютерам и когнитивным наукам Джон Маккарти (John McCarthy) организовал курс по «искусственному интеллекту» – этот термин использовался едва ли не впервые.

Пока Кемени и Курц обучали студентов программированию, они поняли, что текущий язык – Assembly – был очень сложным и громоздким: требовались знания по математике, а также понимание тонких нюансов, необходимых для создания компьютера. Это не лучший способ освоить программирование!

Поэтому они объединились для создания Darsimco, или Dartmouth Simplified Code. В основном это была система шаблонов, каждая команда Darsimco соответствовала небольшой последовательности команд Assembly. Вместо того чтобы знать, как манипулировать битами и байтами, люди смогут использовать команды Darsimco, блоки кода, которые уже были предварительно написаны для них.

Затем появился Dartmouth Oversimplified Programming Experiment или Dope, язык, который был ещё проще Darsimco. Но к сожалению, он было так прост, что практически бесполезен.

К этому времени появился новый язык высокого уровня FORTRAN, что сделало программирование менее утомительным, но людям все ещё требовались математические знания для его использования (для тех, кто имеет опыт работы, FORTRAN может быть очень эффективным: именно поэтому физики используют его более поздние версии даже сегодня).

Кемени и Курц хотели создать что-то, что люди могли бы начать использовать с нуля. И результатом стал BASIC.

BASIC или Beginner’s All-purpose Simplified Instruction Code имел простые англоязычные команды, которые пользователи могли вводить, чтобы заставить компьютер что-то сделать. Были HELLO и BYE для входа и выхода, SAVE и UNSAVE для управления программами в постоянном хранилище и так далее.

BASIC стал очень популярным, и такие компании, как Microsoft, взяли его и создали свои собственные версии. Вероятно, это самый долгосрочный вклад Джона Кемени, хотя отнюдь не последний. Помимо BASIC, важным вкладом Курца и Кемени была их система разделения времени, позволяющая нескольким пользователям запускать программы одновременно, не ожидая в очереди.

В 1970 году, в возрасте 44 лет, Кемени был назначен президентом Дартмута. Он оставался на этой должности одиннадцать лет, прежде чем уйти в отставку, чтобы уделять больше времени преподаванию и исследованиям. Его президентский срок был насыщенным.

Кемени провел много реформ в Дартмуте, включая превращение последнего в совместный университет: до этого там могли обучаться исключительно мальчики. Он также разработал «План Дартмута», реструктурирующий академический график в систему триместра, что давало студентам гибкость в реализации проектов за пределами кампуса, а также позволяло университету вмещать больше студентов без необходимости строить больше зданий.

По сообщениям, Кемени был очень популярен среди студентов. Он активно занимался набором и удержанием студентов из числа меньшинств, а также возродил основополагающее обязательство Дартмута предоставлять образование американским индейцам.

Но Кемени не смог бы достичь всего этого в одиночку. Рядом с ним находилась его жена Жан Александр Кемени, которая сама стала выдающимся активистом, выступавшим в защиту гражданских прав и прав женщин, а также за переход Дартмута на совместное обучение. Позже Джин написала мемуары «В Дартмуте всё по-другому», в которой рассказывается о её десятилетии в роли «Первой леди» университета.

В этот период тогдашний президент США Джимми Картер (Jimmy Carter), призвал Кемени возглавить расследование аварии на АЭС Три-Майл-Айленд. Итоговый отчёт содержал критику в отношении федеральных регулятивных органов, а также – стандартов безопасности атомной энергетики в то время.

Кемени ушел с поста президента Дартмута в 1981 году. Два года спустя он и Курц стали соучредителем True BASIC Inc. для продвижения и рекламирования BASIC на коммерческой основе. Несмотря на это, Кемени продолжал преподавать в Дартмуте до 1990 года.

Джон Кемени скончался два года спустя, в возрасте 66 лет. Но созданный им язык продолжает жить во многих своих версиях и формах даже спустя полвека.

ЧИТАЙТЕ ТАКЖЕ:

Источник: Medium

Читайте также:

Електронний «ніс» допоможе розпізнати несвіжість продуктів та «запах» хвороб

Зупинити старіння: передові стартапи в галузі геронтології

Нобелівська премія з фізики присуджена за роботу про машинне навчання нейромереж

Тонкий еластичний і міцний, як сталь: чи може графен нарешті змінити наш світ?