Ларри Уолл: Лингвист, написавший язык
Большинство языков программирования проектируются как соборы — спланированные, ортогональные, навязанные сверху. Ларри Уолл построил свой язык как университетский кампус. «Perl — это те самые тропинки на траве», — объяснил он однажды, указывая на дорожки, которые студенты протаптывают через газон там, где должен был быть тротуар. «Те тропинки, которые были там раньше, — это предыдущие компьютерные языки, у которых Perl позаимствовал идеи». Будучи дипломированным лингвистом, который так и не закончил полевые исследования, которыми собирался заниматься, Уолл сделал то, чего никто другой в вычислительной технике не делал: он спроектировал язык программирования так, как если бы это был человеческий язык, и он стал одним из самых широко используемых инструментов раннего интернета.
От химии к языкам
Ларри Арнольд Уолл родился 27 сентября 1954 года в Лос-Анджелесе, штат Калифорния, и вырос там же и в Бремертоне, штат Вашингтон. В 1976 году он поступил в Тихоокеанский университет Сиэтла, переходя с химии на музыку и медицину, прежде чем начал работать в университетском вычислительном центре и, наконец, получил степень бакалавра по необычайно подходящему предмету: естественные и искусственные языки. Это сочетание предвещало все, что должно было произойти.
Язык, который ускользнул
Уолл продолжил обучение в аспирантуре по лингвистике в Калифорнийском университете в Беркли, где он и его жена готовились с конкретной мечтой: найти неписьменный язык, возможно, в Африке, и создать для него систему письма. Проблемы со здоровьем положили конец этому плану. Но лингвистическая подготовка никогда его не покидала. Там, где другие компьютерные ученые обращались к математике, Уолл обращался к структуре человеческой речи.
Двадцать вопросов, восемь минут на часах и процентиль, измеренный по всем, кто его проходил. Без регистрации.
Пройти тест IQ →Perl
После аспирантуры Уолл работал в Лаборатории реактивного движения НАСА, а затем в System Development Corporation, позже ставшей частью Unisys, где он создал язык программирования Perl и его интерпретатор. Попутно он написал программное обеспечение, на котором жило целое поколение системных администраторов: новостной ридер Usenet rn и, прежде всего, инструмент patch, который позволяет программистам применять изменения к исходному коду и остается фундаментальным для разработки программного обеспечения. Но Perl был его памятником — «клеевым» языком, который мог связывать текст, файлы и системы, и который обеспечивал огромную долю ранней Всемирной паутины.
Дизайн языка как лингвистика
Что делало Perl особенным, так это убежденность Уолла в том, что язык программирования должен вести себя как естественный. Он позаимствовал лексику из грамматики, описывая конструкции такими терминами, как «существительное», «глагол» и «топикализатор», а не обычным жаргоном. Он встроил контекстную чувствительность, заимствованную из тагмемической лингвистики, так что одна и та же конструкция ведет себя по-разному в «скалярном» контексте и в контексте «списка» — точно так же, как, по словам Уолла, люди найдут способ «осмыслить что-то в определенном контексте». Он отверг ортогональную чистоту, любимую теоретиками, в пользу прагматизма, утверждая, что язык «должен быть аморальным художественным средством», которое дает пользователям инструменты, не навязывая им дисциплину; те, кто хочет строгости, могут ее выбрать. Он также категорически отверг нисходящее проектирование: «Я не из тех людей, которые могут сесть и спроектировать всю систему с нуля», — признался он, предпочитая эволюционный подход, при котором язык растет, чтобы удовлетворять реальные потребности.
Культура как часть кода
Уолл понимал, что язык — это больше, чем синтаксис и семантика, — это вся культура вокруг него. Он вкладывал энергию в сообщество, отслеживая дискуссии и участвуя в USENET, чтобы сформировать идентичность Perl. Он стал соавтором книги «Programming Perl», всемирно известной как «книга с верблюдом», которую опубликовало издательство O'Reilly и которая сделала его штатным распорядителем языка. Его христианская вера, как члена Церкви Назарянина, даже посеяла его лексику: Perl намекает на «драгоценную жемчужину» из Евангелия от Матфея, а проектные документы для его преемника, Raku, называются «апокалипсис» и «экзегеза».
Почему Ларри называют гением
Гениальность Уолла — это подлинная оригинальность концепции, а не чистых вычислений, и ее следует честно описать такой, какая она есть. Конкретное творческое качество — это междисциплинарный синтез: он был первым, кто взял инструменты дескриптивной лингвистики (контекст, эволюция, выразительная избыточность, приоритет пользователя) и систематически применил их к дизайну языка программирования. Интервьюеры приписывали ему «подлинную оригинальность в подходе к дизайну языка программирования как к лингвистической дисциплине», и результат сбалансировал выразительность с обучаемостью, позволяя людям освоить полезное подмножество, а не все целиком. Это реальный интеллектуальный вклад, и огромное распространение Perl — тому доказательство. Честный контраргумент заключается в том, что именно эта философия является тем, что многие компьютерные ученые считают недостатком. Попустительство Perl и его дух «есть более чем один способ сделать это» породили код, настолько идиосинкразический, что он стал предметом шуток, критиковался как трудноподдерживаемый, и язык угас по мере появления более чистых преемников. Уолл не был изобретателем глубоких алгоритмов или формальной теории; его даром были вкус, остроумие и лингвистический слух к тому, как люди на самом деле хотят выражать себя. Является ли это гениальностью, зависит от того, ценит ли человек философию дизайна так же высоко, как математику, но сама оригинальность не вызывает сомнений.
Наследие
Ларри Уолл изменил то, как целое поколение думало об отношениях между человеческим языком и языком машин. Инструменты, которые он написал, такие как patch, остаются тихо незаменимыми десятилетия спустя, а идеи дизайна Perl о контексте и выразительности распространились на последующие языки. Он доказал, что программист может быть также лингвистом, юмористом и философом, и что язык, построенный как тропинка через газон, может выполнять удивительный объем мировой работы. В индустрии, которая ценит строгость, он надолго обосновал альтернативу — беспорядочную, развивающуюся и глубоко человечную.


