Common Lisp против Smalltalk

Smalltalk известен своей потрясающей средой IDE / времени выполнения живого кодирования и отладки, которая в первую очередь отвечает за невероятную производительность Smalltalk. Однако Smalltalk не уникален тем, что позволяет программировать в реальном времени. Традиционные IDE, такие как Visual Studio и Eclipse, с разной степенью успеха пытались имитировать аналогичные возможности. Ни один из них не может сравниться с элегантностью и плавностью Smalltalk в этом отношении.

Мне было доведено до сведения, что Common Lisp также имеет такую ​​возможность, поэтому я решил взглянуть на него ...

Начать работу с Common Lisp не так просто, как с Smalltalk. Вся процедура невероятно загадочна. Я выбрал популярную реализацию SBCL (Steel Bank Common Lisp) для macOS (рекомендуемая версия 1.1.6). Установить его не составило труда, но запуск рекомендованной IDE был немного тяжелым испытанием.

Сначала вы устанавливаете Emacs для macOS, выбранную мной платформу разработки. Затем приходит разочарование по поводу установки SLIME (Superior Lisp Interaction Mode для Emacs). Документация действительно отстой, потому что я столкнулся с этой проблемой. И после того, как снова выдернули волосы, Я обнаружил, что мне нужно добавить это в .emacs:

(setq slime-lisp-implementations
        '((sbcl ("/usr/local/bin/sbcl") :coding-system utf-8-unix)))

Когда я начал работать со SLIME, я понял, почему я ненавидел Emacs, когда впервые использовал его почти 30 лет назад: Я не говорю на клингонском. Хотя вы можете писать код в реальном времени с Common Lisp и SLIME, это явно менее приятно, чем делать это на Smalltalk. графическая и простая в использовании IDE Smalltalk намного лучше для новичков и намного проще для опытных программистов, что приводит к гораздо более высокой производительности (более чем в 2 раза выше!).

Common Lisp сам по себе является более сложным языком, чем Smalltalk. Мне нравится Scheme, но Common Lisp - совсем другое дело. Таким образом, Я всегда рекомендовал Smalltalk вместо Common Lisp.

ОБНОВЛЕНИЕ: есть более простой способ настроить Common Lisp и SLIME.