Lisp - це велика і складна мова з великим і складним режимом виконання для її підтримки. З цієї причини Lisp найкраще підходить для великих і складних проблем.
Тепер складна проблема не така, як складна . Комплекс проблем є один з великою кількістю дрібних деталей, але не складно. Написання системи бронювання авіакомпаній - складна справа, але з достатньою кількістю грошей та програмістів це не важко. Отримайте різницю?
Складна проблема, яка є перекрученою, та проблема, коли традиційний поділ і перемога не спрацьовує. Управління роботом або робота з даними, які не є табличними (наприклад, мовами), або дуже динамічними ситуаціями.
Lisp справді добре підходить для проблем, де рішення потрібно розширювати; класичний приклад - це редактор тексту emacs. Це повністю програмоване, а значить, середовище програмування саме по собі.
У своїй знаменитій книзі PAIP Норвіг говорить, що Лісп ідеально підходить для дослідницького програмування. Тобто програмування рішення проблеми, яка не повністю зрозуміла (на відміну від системи он-лайн бронювання). Іншими словами: Складні проблеми.
Крім того, навчання Лісп нагадає вам про щось фундаментальне, що було забуто: Різниця між Нейманом та Тьюрінгом. Як відомо, модель обчислення Тьюрінга є цікавою теоретичною моделлю, але марною як модель для проектування комп'ютерів. Фон Ньоманн, з іншого боку, створив модель виконання комп'ютерів та обчислень: Модель Фон Ноймана. Центральне в моделі Фон Неймана - це те, що у вас є лише одна пам'ять, і ви зберігаєте там і ваш код, і свої дані. Уважно зауважте, що програма Java (або C #, або що завгодно) є проявом моделі Тьюрінга. Ви встановлюєте свою програму конкретно, раз і назавжди. Тоді ви сподіваєтесь, що зможете опрацювати всі дані, які потрапляють на них.
Лісп підтримує модель Фон Неймана; немає різкої, заздалегідь визначеної межі між кодом і даними. Програмування в Lisp відкриває ваш погляд на силу моделі Фон Неймана. Програмування в Lisp змушує бачити старі концепції в новому світлі.
Нарешті, будучи інтерактивним, ви навчитесь взаємодіяти зі своїми програмами під час їх розробки (на відміну від компіляції та запуску). Це також змінить спосіб програмування та спосіб перегляду програмування.
За допомогою цього вступу я нарешті можу запропонувати відповідь на ваше запитання: чи знайдете ви місця, де воно перекриває "традиційні" мови?
Якщо ви просунутий програміст, вам потрібні вдосконалені інструменти. І не існує інструменту, більш просунутого, ніж Lisp. Або, іншими словами: відповідь "так", якщо ваші проблеми важкі. Ніяк інакше.