Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР 117, СЕНТЯБРЬ 2008 г.

Создатели языков программирования: Они такие разные, но кодинг их объединяет

Мария «Mifrill» Нефедова (mifrill@riddick.ru)

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

Кен Томпсон и Денис Ритчи: С

На двоих у этих товарищей какое-то почти неприличное количество наград, включая премию бедняги Тьюринга и национальную медаль за достижения в области технологий. В общем-то, оно и не мудрено, ведь они несут ответственность за создание UNIX'а и языка Си, чего, по-моему, вполне достаточно для медали.
Жизнь свела этих двух разных, но по-своему очень похожих людей еще в 60-е годы. Оба – уроженцы Америки, один из Нового Орлеана, второй из Нью-Йорка, учились в престижнейших колледжах планеты (в Беркли и Гарварде, соответственно). У обоих чисто технарское образование, один – магистр электротехники и информатики, второй – бакалавр в области физики и прикладной математики.

На момент разработки Си (в начале 70-х) они оба трудились в известнейшем исследовательском центре Bell Labs, на счету которого такие открытия как фотоэлементы, транзисторы, первый 32-разрядный процессор и куча других полезных вещей.

Над Си они работали как над закономерным продолжением языка Би, созданием которого, кстати, в свое время занимался Ритчи. Теперь он развивал свое детище в новом направлении. Си не был их первым совместным проектом, до этого уже имели место ОСь Multics, под которую специально создавался язык Bon (детище Томпсона), Unix и B. И только после этого – С.

Сегодня уже можно не писать много красивых и важных слов о значимости этих разработок. Все понятно и так. Unix и упомянутые языки действительно сильно повлияли на развитие нашего ненаглядного «компутерного» прогресса. «Отцам» воздалось по заслугам – в 83-ем году обоих наградили премией Тьюринга. В 99-ом Билл Клинтон лично вручил им медаль технологий, плюс перепало на их долю и много других, не таких громких, но все равно заслуженных наград. Старички и по сей день остаются в строю. Томпсон работает в Google, а Ритчи лишь совсем недавно отошел от дел, до этого возглавляя исследовательский отдел Lucent Technologies, где занимался ОСями Plan 9 и Inferno, а также языком Limbo.

Андерс Хейлсберг: Turbo Pascal, Delphi, C#.

Если чуть выше у нас было два автора на язык программирования, то здесь все наоборот – автор один, зато языков много. Датчанин Хейлсберг родился в декабре 1960. В родном Денмарке он окончил местный университет и получил образование инженера-программиста. Надо заметить, программист из него вышел талантливый. В сумме он приложил руку к трем языкам – на его счету Turbo Pascal, Delphi и C#. Еще учась в университете, он стал писать программы под микрокомпьютеры Nascom и создал компилятор для Паскаля, который изначально назвал Blue Label Pascal compiler. Впоследствии он портировал наработку под MS-DOS и переименовал в Compas Pascal, а позже – в PolyPascal. Со всем этим счастьем Андерс находился под крылом небезызвестной компании Borland, которая и лицензировала его детище (aka Турбо Паскаль). Со временем под пристальным наблюдением Хейлсберга, который, кстати, занимал в Borland International пост главного инженера, Turbo Pascal не только развился, но и постепенно эволюционировал в Delphi. Над этой «заменой» опять же трудился сам Андерс, являясь главным архитектором проекта.

В 1996 он покинул Borland и перешел прямиком к их главным конкурентам – Microsoft. Незабвенные мелкомягкие очень хорошо умеют переманивать к себе специалистов. В MS Хейлсберг поначалу корпел над языком J++, а потом быстренько дорос до главного архитектора проекта по созданию языка C#. Чем это закончилось, мы прекрасно знаем – у Андерса, конечно, все получилось. Сегодня он является заслуженным инженером (distinguished engineer) компании и продолжает заниматься всяческой поддержкой и развитием своего творения.

Бьерн Страуструп: С++

Труднопроизносимое имя этого программиста имеет датские корни. Существует два варианта русского написания – Бьерн СтрауструпБьярне Строуструп – который из них ближе к истине (Bjarne Stroustrup), сказать сложно. На личном сайте Бьерна (буду называть его так) этому вопросу посвящен отдельный, и весьма длинный, абзац FAQ, в котором даже выложен аудио-файл с правильным произношением. Видимо, достали (хотя нескандинаву и аудио-файл вряд ли поможет выговорить это убийственное имя правильно).

Страуструп родился в Орхусе, Дания, в далеком 1950. Там же, в местном университете, получил образование, а чуть позже стал доктором наук, поработав над конструированием распределенной системы в лаборатории Кембриджа. В 1979, после защиты в Кембридже, он получил предложение от компании AT&T, а точнее, от уже упомянутых Bell Laboratories, и вместе с семьей переехал в Штаты. Одновременно Бьерн начал работать над созданием С++, который тогда назывался «Си с классами». Создавался язык, что называется, для себя. Как результат, на первых парах поддерживался он исключительно самим Страуструпом. Плюсы в имени появились позже и стали заслугой коллеги Бьерна – Рика Масситти. Родилась идея довольно просто: «плюс» – это распространенная практика обозначения каких-либо улучшений в программе, а также увеличение значения переменной на единицу.

На протяжении долгих лет Страуструп был главой отдела исследований программирования в Bell Labs – с самого момента его создания и вплоть до 2002 года. Затем перешел на должность профессора техасского университета А&М. За прошедшие годы Бьерн написал несколько книг по C++. Они переведены на десятки языков и являются, фактически, наилучшей литературой по теме. Разумеется, герой удостоен и множества наград, в том числе избран членом Национальной инженерной академии США в 2004 и отмечен американским научно-исследовательским сообществом в 2005.

Джеймс Гослинг: JAVA

Гослинг – канадец. Он родился в 1955 неподалеку от Калгари. По образованию – бакалавр в области вычислительной техники (университет Калгари) и доктор все тех же наук, с дипломом университета Карнеги-Меллона. Говоря проще: профессиональный девелопер софта.

В 80-х годах, после учебы он пошел работать в SUN, где и стал «папой» языка JAVA. До этого, еще в университете, успел позаниматься разработкой мультипроцессорной версии Unix, написал несколько компиляторов и почтовых систем. Стоит сказать, что вначале JAVA предназначалась для бытовой электроники. Лишь в процессе разработки стало ясно, что найдутся и более интересные области применения. Исходно язык назывался Oak и только потом был переименован в Яву, путем выбора слова из длинного, рэндомного, списка. А с логотипом все совсем просто – марка кофе «Ява» широко любима прогерами, отсюда и кофейная чашка.

Гослинг, как истинный программист, суров и бородат. Степень его суровости легко оценить по такому факту – в 2007 году он впервые за несколько десятков лет (sic!) сбрил бороду. Да и то, исключительно из-за того, что ему делали операцию. В одном интервью он отметил, что ни жена, ни дети его до этого без бороды не видели. Никогда.

Он и по сей день работает в SUN, является соавтором ряда книг и публикаций по своему языку, а на родине, в Канаде, удостоен высшей награды страны, присуждаемой за успехи в какой-либо сфере – Канадского ордена (Order of Canada).

Расмус Лердорф: PHP

Куда мы сегодня со своим «Еньтеренетом» и без PHP? Правильно, никуда. Поэтому стоит сказать большое-пребольшое спасибо дяденьке Лердорфу за то, что он этот самый PHP придумал и реализовал.

PHP появился на свет практически случайно. Тебе никогда не хотелось отследить, чем занимаются и что именно читают люди на твоем сайте, в твоем блоге, etc? Большинству – хотелось. Лердфорду тоже. В начале 90-х, будучи фрилансером, он рассылал потенциальным работодателям свое резюме в сокращенном виде, со ссылкой на полную версию. Тут-то ему и пришло в голову, что было бы крайне удобно как-то отлеживать посетителей странички. За плечами у него был диплом университета Ватерлоо, так что Расмус раздумывал недолго. Он сел и написал простенький CGI скрипт на Perl, вставив его в пагу с резюме. Эту кусочек кода для сбора статистики он окрестил без затей: «PHP – Tools for Personal Home Page». И, решив блеснуть, сделал статистику общедоступной. В итоге, многие визитеры занятной примочкой заинтересовалась и даже стали спрашивать, можно ли как-то заполучить ее в свое пользование. Лердорф не отказал (тогда движения Open Source в нынешнем его виде еще не существовало, а такого рода вещи назывались просто «freeware»). Невинная, на первый взгляд, фишка вылилась в первую рассылку по PHP, которую уже на момент 1995 года и создал сам Расмус, чтобы как-то облегчить людям возможность обмениваться мыслями и идеями.

Первые версии PHP Лердорф продвигал и поддерживал очень активно, но тот PHP, каким мы знаем его сегодня, сильно далек от исходного. Сам его создатель с 2002 года работает в Yahoo, куда его позвали как раз по части созданного языка. Цитируя одно интервью: «Они хотели, чтобы я помог им с PHP». Своим детищем он, конечно, занимается и сейчас, но уже в качестве «одного из многих». Лердорф по мере сил вносит вклад в дело свободного ПО, регулярно помогая тем или иным проектам.

Ларри Уолл: Perl

Об этом человеке мы писали уже не раз, но он определенного того достоин – лауреат многих престижных премий, камрад Уолл подарил миру Perl.

Родившийся в 1957 в Лос-Анджелесе, Уолл получил совсем не техническое образование – он лингвист. Есть в этом какая-то своеобразная ирония – лингвист создает язык программирования. А ведь пока он не устроился работать в НИИ NASA, они с женой собирались отыскать на нашей планете какой-нибудь язык, до сих пор не имеющий письменности (например, где-нибудь в Африке) и создать ее, перевести на новый язык некоторые книги... Словом, романтика и приключения, но жизнь повернулась иначе – из-за проблем со здоровьем от всего этого пришлось отказаться и остаться в Штатах. Тогда Уолл приступил к работе в уже упомянутом заведении.

Уолл – большой активист движения за свободное ПО и, по сути, стоял у его истоков. Первая премия «Free Software Award» была вручена именно ему, за все его заслуги в целом и за создание Perl'а в частности. Вообще, довольно интересно, что при написании Перла Уолл руководствовался не только своими программерскими познаниями. Так он утверждает, что ему очень помогло лингвистическое образование, а название языку и вовсе дала Библия. Дело в том, что Уолл христианин, а язык изначально носил имя «Pearl» – жемчужина. Это была прямая отсылка: «...Pearl of great price...» («...найдя одну драгоценную жемчужину...», Евангелие от Матфея 13:46). Слово «Pearl» также было и аббревиатурой от Practical Extraction and Report Language, но потом буква «а» потерялась.

Сегодня Уолл хорошо известен как программист, автор и соавтор целого ряда книг по Perl'у и, конечно, лингвист. О своем основном и официальном образовании он забывать не собирается.

Гвидо Ван Россум: Python

Ван Россум – крайне веселый дядька, голландец. Последнее время шутки про Голландию и траву перестали быть такими уж смешными, но это все же наводит на кое-какие размышления. Так, Гвидо было мало разработать собственный язык программирования, надо было еще и назвать его в честь шоу «Летающий цирк Монти Пайтона» (Monty Python’s Flying Circus) – Python. Смотревшие меня поймут :).

В 1982 окончив университет Амстердама, Ван Россум успел поработать со многими крупными НИИ, в том числе и американскими. Он занимался самыми различными вещами, среди которых была и работа над проектом по созданию языка ABC. Затея у проекта была весьма амбициозная – ABC был призван полностью вытеснить BASIC, Pascal и так далее, плюс с его помощью собирались обучать программированию. Перед Рождеством 1991 года Ван Россум неожиданно заскучал и решил попробовать написать свой язык, отталкиваясь от наработок ABC. Очевидно, ему было очень скучно, потому что язык он все-таки написал.

И любит свое детище до сих пор. Даже столько лет спустя он присматривает за всем, что происходит в комьюнити и носит забавный статус «великодушного пожизненного диктатора» (Benevolent Dictator for Life). Добавим, что с 2005 года этот остряк работает в Google.

Никлаус Вирт: Pascal, Modula, Oberon, etc

Снова возвращаемся к «сильным и бородатым» мира сего. Швейцарец с «говорящей фамилией» Вирт за свои 74 года успел приложить руку с созданию таких языков, как Euler, Algol-W, PL/360, Pascal, Modula, Modula-2, Oberon, Oberon-2, Component Pascal. Три из них – на его личном счету (Паскаль, Модула и Оберон).
Вирт – очень известный ученый и один из пионеров информатики. Родился он в 1934 и в прямом смысле стоял у истоков всего, что мы сегодня пожинаем. Самыми известными и оказавшими наибольшее влияние на развитие программирования разработками, конечно, стали Паскаль, которой послужил фундаментом для многих других языков, и участие в разработке технологии структурного программирования (совместно с Дейкстра и Хоаром).

За свою долгую жизнь Вирт успел поработать со многими ведущими мировыми институтами и лабораториями. Тридцать один год он проработал в ETH – Швейцарском федеральном технологическом институте, в Цюрихе. Написал немало книг (часть из них издана и на русском) и получил множество наград, в том числе, премию Тьюринга и медаль Леонардо да Винчи. Лишь в 1999 он вышел на заслуженную пенсию. Впрочем, это не мешает ему оставаться членом трех национальных академий – Swiss Academy of Engineering (Швейцария), U.S. Academy of Engineering (США) и Berlin-Brandenburg Academy (Германия) – и известнейшим ученым, который очень любит опережать свое время. Дело в том, что многие идеи Вирта, высказанные и даже частично воплощенные им в 70-х годах, нашли широкое применение и возможности для реализации лишь в конце 90-х. Посмотрим, что будет дальше.

Юкихиро Мацумото: Ruby

Удивительно, но Мацумото единственный автор нашей подборки, кто родом с Востока. Страна восходящего солнца не испытывает недостатка в светлых умах, но, видимо, им как-то не везет с языками программирования.

Юкихиро aka Matz, по его собственным заверениям, прогать начал, еще учась в школе. Это было где-то в начале 70-х (учитывая, что он 1965 года рождения). А известен японец тем, что разработал язык Ruby. Основное назначение и призвание языка – естественность (не путать с простой). Matz хотел создать что-то более мощное, чем Перл и более объектное-ориентированное, чем Питон. В итоге, у него вышел сплав из Perl, Smalltalk, Eiffel, Ada и Lisp, а полученное творение было названо Ruby («рубин»). Интересно, что Мацумото – человек верующий. Он активный член Церкви Иисуса Христа Святых последних дней, то есть, мормон. Чего же здесь такого интересного, спросишь ты. А то, что название Ruby – своего рода поклон в сторону Перла, о происхождении названия которого речь уже шла чуть выше. Любопытное «совпадение».

Джон Маккарти: Lisp

Пожалуй, самый пожилой участник нашей «переписи» и один из самых значимых. Маккарти родился в 1924 году, в США. Деятель он более чем известный, например, привычный нашему с тобой уху термин «искусственный интеллект» (Artificial Intelligence, AI) принадлежит именно ему, Маккарти ввел его в обиход еще в 1955. Но раз уж мы говорим о языках программирования, то стоит отметить еще одно известнейшее детище американского информатика, – Lisp. Лисп стал вторым в истории высокоуровневым языком программирования (первым был Фортран); он использовался и по сей день используется в основном для разрешения сложных задач. Датой рождения Лиспа был 1958 год, а известность к нему пришла чуть позже. В 1960 в журнале Communications of the ACM вышла статья Маккарти с подробным описанием нового языка. По большому счету, Джон стал отцом не только Лиспа, но и основоположником всего функционального программирования как такового.
Забавно, но он, похоже, успел поработать чуть ли не во всех самых престижных учебных заведениях для гиков: в Принстонском и Стэндфордском университетах, Дартмутском колледже и Массачусетском технологическом институте. Осесть Маккарти все же предпочел в Стэнфорде, где и оставался профессором вплоть до 2000 года (пора уже было на пенсию). Сегодня Джон носит звание заслуженного профессора и справедливо почивает на лаврах.

Томас Курт и Джон Кемени: Basic

Было бы просто стыдно не поговорить о том, кто придумал такую незабвенную вещь, как Бейсик. История с его созданием, на самом деле, вышла довольно путаная, и руку к ней успело приложить много народу. Но исходно Basic начался именно с двух профессоров Дартмутского колледжа – Курта и Кемени. В начале 60-х компьютеры только-только начали становиться доступнее простым смертным, и перед учеными впервые встал вопрос не скорости выполнения программ, а удобства их написания. Бейсик родился на свет в виду ряда особенностей машин с разделением времени. Под шефством Курта и Кемени его реализовала группа их студентов. Задумывался он как язык для обучения программированию, хотя впоследствии большая часть критики строилась на том, что после Basic'а нормально прогать человек не может, и исправить это уже не удастся. Как бы то ни было, в 1963 язык был создан и получил имя Dartmouth BASIC.

Настоящая же популярность пришла к нему только в 1975 году. Тогда будущая Microsoft (в то время просто два человека: Билл Гейтс и Полл Алиен) написали под него интерпретатор для компьютеров Altair 8800, названный Altair BASIC. Язык стремительно разветвился на множество диалектов. Например, Apple II базировался на одной из его версий, а под ОСь CP/M написали BASIC-80. Заметим, что второе (или даже третье) дыхание развитию Basic дал опять же Microsoft. Произошло это в начале 90-х, когда был выпущен Visual Basic, уже совсем не похожий на своего предка.

Содержание
ttfb: 35.689830780029 ms