Lisp - это большой и сложный язык с большой и сложной средой выполнения для его поддержки. По этой причине Lisp лучше всего подходит для больших и сложных задач.
Итак, сложная проблема - это не то же самое, что сложная . Комплекс проблем является один с большим количеством мелких деталей, но не сложно. Написать систему бронирования авиабилетов - сложный бизнес, но с достаточным количеством денег и программистов это не сложно. Уловить разницу?
Сложная проблема - это запутанная проблема, в которой традиционный принцип «разделяй и властвуй» не работает. Управление роботом или работа с данными, которые не являются табличными (например, языки), или очень динамичными ситуациями.
Lisp действительно хорошо подходит для задач, решение которых должно быть расширяемым; классический пример - текстовый редактор emacs. Он полностью программируемый и, следовательно, самостоятельная среда программирования.
В своей знаменитой книге PAIP Норвиг говорит, что Lisp идеально подходит для исследовательского программирования. То есть программирование решения проблемы, которая до конца не изучена (в отличие от системы онлайн-бронирования). Другими словами: сложные проблемы.
Более того, изучение Лиспа напомнит вам кое-что фундаментальное, о чем уже забыли: разницу между фон Нейманом и Тьюрингом. Как мы знаем, модель вычислений Тьюринга - интересная теоретическая модель, но бесполезная в качестве модели для проектирования компьютеров. Фон Нейман, с другой стороны, разработал модель того, как компьютеры и вычисления должны выполняться: модель фон Неймана. Центральным элементом модели фон Неймана является то, что у вас есть только одна память, и вы храните в ней свой код и данные. Обратите внимание, что программа на Java (или C #, или как вам нравится) является проявлением модели Тьюринга. Вы устанавливаете конкретную программу, раз и навсегда. Тогда вы надеетесь, что сможете справиться со всеми данными, которые ему попадают.
Лисп поддерживает модель фон Неймана; между кодом и данными нет четкой заранее определенной границы. Программирование на Лиспе открывает вам возможности модели фон Неймана. Программирование на Лиспе позволяет увидеть старые концепции в новом свете.
Наконец, будучи интерактивным, вы научитесь взаимодействовать со своими программами по мере их разработки (в отличие от компиляции и запуска). Это также меняет способ программирования и взгляд на программирование.
Этим вступлением я могу наконец предложить ответ на ваш вопрос: найдете ли вы места, где он затмевает «традиционные» языки?
Если вы продвинутый программист, вам нужны продвинутые инструменты. И нет более продвинутого инструмента, чем Лисп. Или, другими словами: да, если у вас серьезные проблемы. Нет иначе.