Некоторые вещи не будут возможны, независимо от того, какие усилия приложены к Python.Например, при разработке веб-приложения веб-сервер Flask / Django / Gunicorn или whatnot должен перезапустить свой процесс после изменения в источниках.Но, скажем, на Lisp, вы запускаете веб-сервер в REPL, и вы просто компилируете функцию, которая, например, добавляет новый маршрут, и вы можете попробовать его сразу же.Ни один процесс не был перезапущен, он стал более интерактивным.
Другой пример - обновление классов и экземпляров.Предположим, в Common Lisp вы написали класс и создали несколько объектов.Теперь вы меняете определение класса, и существующие экземпляры обновляются (лениво).Например, добавляется новый слот, один удаляется и т. Д. И мы даже можем контролировать, как выполняется обновление (путем подкласса некоторых общих функций).
Подключение к запущенному и удаленному процессу в Python возможно, но интерактивность намного меньше, и опыт редактирования также менее идеален (тупая оболочка python в терминале по умолчанию против полноценного Emacs, где вы можете перемещаться по источникам и перекомпилировать функции одним нажатием клавиши (C-c C-c
вSlime) (или в любом другом редакторе, который может подключаться к серверу Swank)).
Выполнение одного данного модульного теста также просто и быстро, процесс перезапуска отсутствует.
Ссылки: