27 сентября исполняется 68 лет Ларри Уоллу — программисту, разработавшему популярный клиент rn — newsreader для групп новостей Usenet, во многом благодаря которому спустя десяток лет на свет появилась ОС Linux. Но широкую известность он получил после создания языка Perl, который нашел применение на заре Интернета в качестве инструмента для сборки интерактивных и динамических сайтов. Однако изначально Perl был придуман совсем не для этого. Язык отличается богатыми возможностями по обработке текста и регулярных выражений, что, впрочем, не удивительно: по образованию Ларри Уолл является дипломированным лингвистом. Путь специалиста по языкознанию в профессиональные программисты оказался тернист, но весьма интересен.
Ларри Арнольд Уолл родился в 1954 году Лос-Анжелесе в семье протестантского священника. Вскоре семья переехала в небольшой город Брементон, штат Вашингтон. В юности Ларри мечтал стать священнослужителем, как его отец, и по мнению ближайших родственников был абсолютным гуманитарием. Наверное, поэтому Уолл поступил в Тихоокеанский университет Сиэтла на специальность «химия», однако позже он перевелся на факультет естественных языков, где и получил степень бакалавра в 1976 году.
Еще в студенческие годы Ларри Уолл женился, и у них с супругой появилась одна мечта на двоих: найти где-нибудь на просторах Африки бесписьменный язык, и создать для него систему письма, над которой он тогда трудился. Однако запланированная им экспедиция в Африку была отменена: состояние здоровья Уолла не позволило ему покинуть Соединенные Штаты.
После краха идеи стать африканским Кириллом и Мефодием в одном лице, Ларри решил немного сменить приоритеты. Параллельно с учебой Уолл подрабатывал в университетском вычислительном центре, и там он решил совместить свое увлечение лингвистикой с религиозным воспитанием, полученным в семье. В качестве хобби он вместе с женой стал переводить Библию на разные языки мира, и для ускорения этого процесса решил использовать современные компьютерные технологии. А именно, применить придуманную им систему письма для ввода в компьютер, обработки и перевода текстов Библии. Именно так и зародился Perl. Язык понемногу совершенствовался, разработчик добавлял в него все новые возможности, и окончательно Perl сформировался уже после окончания Уоллом аспирантуры, в 1987 году, когда он устроился на работу в System Development Corporation, фирму, которая позже стала частью корпорации Unisys.
Perl принято расшифровывать как Practical Extraction and Report Language («практический язык для извлечения данных и составления отчётов»), хотя многие современники именовали его не иначе, как Pathologically Eclectic Rubbish Lister («патологически эклектичный перечислитель мусора»). Впрочем, сам Ларри Уолл неоднократно утверждал, что название языка не является акронимом: оно пришло ему в голову, как отсылка к Евангелию от Матфея, стих 13:46: «Еще подобно Царство Небесное купцу, ищущему хороших жемчужин, который, найдя одну драгоценную жемчужину, пошел и продал все, что имел, и купил ее».
В этом есть определенный символизм: если верить многочисленным интервью, Уолл трудился над собственным языком не ради заработка — он вообще не планировал делать на этом деньги. Ларри посвятил этому проекту все свое свободное время ради популяризации христианства, а также для того, чтобы помочь другим программистам решать насущные задачи по обработке больших массивов структурированных текстовых данных. Он сделал исходники Perl общедоступными и распространяемыми на основе бесплатной лицензии, за что удостоился первой награды Free Software Foundation за продвижение свободного программного обеспечения. Тем не менее Perl стал основой бизнеса для множества успешных стартапов и интернет-компаний: именно на этом языке был написан движок первой версии портала Yahoo и интернет-магазина Amazon. Благодаря Perl интернет-предприниматели в начале 90-х и в эпоху «бума доткомов» заработали миллиарды долларов.
Символом созданного им языка Уолл сделал верблюда — удивительное животное, которое в отличие от программистов на Perl может не пить до 30 дней отличается силой и необычайной выносливостью. Лингвистическое образование дало о себе знать: вместо привычных для программистов терминов «переменная», «функция» и «параметр», при описании особенностей Perl он использует слова «существительное», «глагол» и «актуализатор». Уолл вообще часто сравнивает Perl с естественным языком, и считает это главной отличительной особенностью своего детища. На Perl можно даже писать стихи, которые можно запускать в качестве работающей программы. Одно из таких стихотворений под названием «Black Perl» («Чёрная жемчужина»), полностью соответствующее стандартам Perl 3, Ларри Уолл даже опубликовал в первоапрельском письме 1990 года в Usenet-конференции comp.lang.perl:
BEFOREHAND: close door, each window & exit; wait until time.
open spellbook, study, read (scan, select, tell us);
write it, print the hex while each watches,
reverse its length, write again;
kill spiders, pop them, chop, split, kill them.
unlink arms, shift, wait & listen (listening, wait),
sort the flock (then, warn the "goats" & kill the "sheep");
kill them, dump qualms, shift moralities,
values aside, each one;
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill the next sacrifice, each sacrifice,
wait, redo ritual until "all the spirits are pleased";
do it ("as they say").
do it(*everyone***must***participate***in***forbidden**s*e*x*).
return last victim; package body;
exit crypt (time, times & "half a time") & close it,
select (quickly) & warn your next victim;
AFTERWORDS: tell nobody.
wait, wait until time;
wait until next year, next decade;
sleep, sleep, die yourself,
die at last
В целях популяризации языка в 1995 году Уолл написал вместе с соавтором Рейнольдом Шварцем быстро ставшую бестселлером книгу «Programming Perl» (также известную под неофициальным названием “The Camel Book” из-за изображенного на обложке верблюда), и вскоре перешел на работу в издательство O’Reilly Media в качестве редактора, где продолжил издавать книги, посвященные Perl. В 2004 году Ларри Уолл занял пост старшего научного сотрудника в компании NetLabs, и продолжает сотрудничество с O’Reilly. Вместе с супругой и детьми он живет в самом сердце Кремниевой долины — городе Маунтин-Вью, Калифорния.
Несмотря на то, что в наши дни в интернет-индустрии и сфере разработки сайтов на смену Perl пришли языки PHP и Python, Perl по-прежнему используется для создания скриптов в UNIX-подобных системах, особенно, если эти сценарии применяются для синтаксического разбора и обработки текстовых данных.
Автор: CyberPunk