Я долго размышлял над этим и даже ходил на конференции по Лиспу, чтобы попытаться понять, что это за «темная сторона» Лиспа, которая мешает всем принять его.
Я не нашел полного приличного ответа.
Невежество может быть причиной недостающей популярности, но меня больше удивляет то, что даже тот, кто наверняка знает о Лиспе (например, Google - у них работает Питер Норвиг), не использует его.
Единственное частичное объяснение, которое я придумываю, состоит в том, что большинство великих идей на Лиспе стали обычным явлением, единственная действительно важная пропущенная идея (чрезвычайно важная IMO) - это простота метапрограммирования.
К сожалению, я не вижу простого способа адсорбировать эту концепцию для других языков, потому что для хорошего метапрограммирования требуется гомоиконичный и регулярный язык (я говорю об общем метапрограммировании, а не о простой версии только для шаблонов). Другими словами, это в основном требует подхода Lisp к синтаксису: код - это данные, а данные - это код. Написание кода на языке с богатым синтаксисом, который манипулирует AST, сложнее, потому что вам нужно знать два языка: как писать код и как писать AST. Это особенно сложно, если ваш AST является фиксированным, а также сложным и нерегулярным с большим количеством различных типов узлов. Вместо этого Lisp имеет достаточно регулярный (и расширяемый!) AST, и вы уже обычно пишете код, напрямую записывая AST.
Метапрограммирование также по своей природе более сложное (и метапрограммирование даже больше и так далее), и большинство программистов и менеджеров, очевидно, просто предпочитают ответ «никому не понадобится».
Мне особенно грустно, что такие «новые» языки, как, например, goзаканчивали тем, что использовали текстовое метапрограммирование, когда это необходимо (генераторы внешнего кода, пишущие текстовые файлы) и «магию» (то есть компилятор может делать то, что не могут делать программисты).
Я думаю, что решением проблемы сложности являются мощные инструменты и образование. Тенденция, видимо, вместо тупых инструментов и притворяется, что проблемы нет.