pg.gimran.org

Если Lisp так хорош

Май 2003 · Все эссе

Перевод эссе Пола Грэма «Если Lisp так хорош». Оригинал: https://paulgraham.com/iflisp.html. Машинный перевод (Gemini).

Translation of Paul Graham's essay 'If Lisp is So Great'. Original: https://paulgraham.com/iflisp.html. Machine translation (Gemini).

Если Lisp так хорош, почему им не пользуется больше людей? Этот вопрос мне задал студент из аудитории на недавнем выступлении. И далеко не в первый раз.

В языках, как и во многом другом, мало связи между популярностью и качеством. Почему Джон Гришэм (рейтинг продаж King of Torts — 44) продаётся лучше Джейн Остин (рейтинг продаж Гордости и предубеждения — 6191)? Неужели даже сам Гришэм стал бы утверждать, что дело в том, будто он пишет лучше?

Вот первое предложение Гордости и предубеждения:

Все знают, что холостяк с солидным состоянием непременно должен нуждаться в жене.

«Все знают, что»? Длинные слова для первого предложения любовного романа.

Как и Джейн Остин, Lisp кажется сложным. Из-за своего синтаксиса — или отсутствия синтаксиса — он выглядит совершенно непохожим на языки, к которым привыкло большинство людей. До того как выучить Lisp, я тоже его боялся. Недавно я наткнулся на свою записную книжку 1983 года, где было написано:

Полагаю, мне стоит выучить Lisp, но он кажется таким чуждым.

К счастью, мне тогда было 19 лет, и я не слишком сопротивлялся изучению нового. Я был настолько невежествен, что изучение почти чего угодно означало изучение нового.

Люди, напуганные Lisp, придумывают другие причины им не пользоваться. Стандартным оправданием во времена, когда языком по умолчанию был C, было то, что Lisp слишком медленный. Теперь, когда диалекты Lisp входят в число наиболее быстрых из доступных языков, это оправдание отпало. Теперь стандартное оправдание откровенно порочно по своему кругу: мол, другие языки более популярны.

(Остерегайтесь подобных рассуждений. Они приводят к появлению Windows.)

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

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