Интересные истории

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

В 1950-х годах компьютеры могли говорить и понимать по-английски. С ними мог общаться любой желающий, никакого обучения не требовалось.

Удивлен? Что ж, в те дни компьютеры не были теми машинами, о которых мы думаем сегодня. «Компьютер» - это еще одно название должности, такое как «Главный исполнительный директор» или «Механик» - титул, который давали людям, которые помогали с расчетами.

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

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

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

Эти компьютеры Mark I, или «калькуляторы», как их называли, были первыми, с которыми столкнулся Джон Г. Кемени, когда он присоединился к нему в 1943 году. Мало что он знал в то время, он в конечном итоге изобрел язык, который, если бы не совсем английский, сделал компьютерное программирование достаточно простым для всех и каждого.

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

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

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

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

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

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

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

Это было в 1948 году, после того, как Фейнман получил степень бакалавра и поступил в докторантуру под руководством Алонзо Черча.

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

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

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

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

Так получилось, что до того, как Кемени начал работать над компьютерами, он сам работал как своего рода «компьютер».

Кемени защитил докторскую диссертацию в 1949 году в возрасте 23 лет, защитив диссертацию на тему «Теория типов против теории множеств». Он также завершил свой брак, свадьбу с Джин Александер из прибрежного штата Мэн, США, о которой мы узнаем позже.

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

Кемени предложил сотрудничать с IBM в компьютерном центре Массачусетского технологического института неподалеку. Это произошло летом 1956 года. Ученый-компьютерщик и когнитивист Джон Маккарти организовал курс «искусственный интеллект» - вероятно, впервые этот термин использовался в курсе.

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

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

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

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

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

BASIC, или универсальный упрощенный код инструкций для начинающих, содержал простые английские команды, которые пользователи могли вводить, чтобы заставить компьютер что-то делать. Были HELLO и BYE для входа и выхода, SAVE и UNSAVE для управления программами в постоянном хранилище и так далее.

Программирование стало меньше похоже на нажатие клавиш на калькуляторе, а больше похоже на их описание как рецепт.

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

Помимо базового, основным вкладом Курца и Кемени была их система разделения времени, позволяющая нескольким пользователям запускать программы одновременно, не ожидая очереди. Современные цифровые многозадачники, благодарю за свои способности Дартмутская система разделения времени Курца и Кемени (DTSS)!

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

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

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

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

Посреди этого Кемени был вызван тогдашним президентом США Джимми Картером, чтобы возглавить расследование ядерного инцидента на Три-Майл-Айленде. В заключительном отчете были очень критичны федеральные регулирующие органы, а также низкие стандарты безопасности в атомной энергетике того времени.

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

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

Дополнительная литература: Математический факультет Сент-ЭндрюсКомпьютерное общество IEEEВикипедияНью-Йорк Таймсi-programmer.info