If Lisp is So Great

Оригинал

Май 2003

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

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

Вот первое предложение романа "Гордость и предубеждение":

"Это общепризнанная истина?" Длинные слова для первого предложения любовного романа.

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

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

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

(Остерегайтесь таких рассуждений. Это приведет вас к Windows).

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

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