История изменений
Исправление tp_for_my_bunghole, (текущая версия) :
Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.
Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.
SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.
Emacs Lisp полностью интроспективен в любой момент. Если скачать исходный код и указать в конфиге путь то можно из кода elisp прыгать прямо на нативное определение в «C» для базовых форм. Любую elisp функцию можно проинструментировать нажатием клавиш и при её вызове во время работы в Emacs будет показан курсор в ней для пошагового исполнения. Можно исправить что-то в функции и моментально скомпилировать одну эту функцию, снова проверять как работает программа(Emacs) в целом.
Ничего подобного нет ни в одном другом языке. Потому что показать это можно только в процессе работы, в виде повторных демонстраций. Программер от других языков не поймёт это без демок, а менеджер не поймёт любые демки если он не программер. Если представить вместо Emacs разрабатываемую игру и показать этот процесс разработки то возникнет впечатление уникальной технологии.
Исправление tp_for_my_bunghole, :
Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.
Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.
SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.
Emacs Lisp полностью интроспективен в любой момент. Если скачать исходный код и указать в конфиге путь то можно из кода elisp прыгать прямо на нативное определение в «C» для базовых форм. Любую elisp функцию можно проинструментировать нажатием клавиш и при её вызове во время работы в Emacs будет показан курсор в ней для пошагового исполнения. Можно исправить что-то в функции и моментально скомпилировать одну эту функцию, снова проверять как работает программа(Emacs) в целом.
Ничего подобного нет ни в одном другом языке. Потому что показать это можно только в процессе работы, в виде повторных демонстраций. Программер от других языков не поймёт это без демок, а менеджер не поймёт любые демки если он не программер.
Исправление tp_for_my_bunghole, :
Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.
Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.
SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.
Emacs Lisp полностью интроспективен в любой момент. Если скачать исходный код и указать в конфиге путь то можно из кода elisp прыгать прямо на нативное определение в «C» для базовых форм. Любую elisp функцию можно проинструментировать нажатием клавиш и при её вызове во время работы в Emacs будет показан курсор в ней для пошагового исполнения. Можно исправить что-то в функции и моментально скомпилировать одну эту функцию, снова проверять как работает программа(Emacs) в целом.
Ничего подобного нет ни в одном другом языке. Потому что показать это можно только в процессе работы, в виде повторных демонстрации. Программер от других язык не поймёт без демок, а менеджер не поймёт любые демки если он не программер.
Исправление tp_for_my_bunghole, :
Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.
Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.
SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.
Emacs Lisp полностью интроспективен в любой момент. Если скачать исходный код и указать в конфиге путь то можно из кода elisp прыгать прямо на нативное определение в «C» для базовых форм. Любую elisp функцию можно проинструментировать нажатием клавиш и при её вызове во время работы в Emacs будет показан курсор в ней для пошагового исполнения. Можно исправить что-то в функции и моментально скомпилировать одну эту функцию, снова проверять как работает программа(Emacs) в целом.
Исправление tp_for_my_bunghole, :
Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.
Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.
SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.
Emacs Lisp полностью интроспективен в любой момент. Если скачать исходный код и указать в конфиге путь то можно из кода elisp прыгать прямо на нативное определение в «C» для базовых форм. Любую elisp функцию можно проинструментировать нажатием клавиш и при её вызове во время работы в Emacs будет показан курсор в ней для пошагового исполнения. Можно исправить что-то в функции и моментально скомпилировать, снова проверять как работает программа(Emacs) в целом.
Исходная версия tp_for_my_bunghole, :
Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.
Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.
SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.