***
💡Ламповое комьюнити питонистов в Telegram: https://t.me/pymentor
✒️ Собесы, интервью, подкасты: / @pymentor_by
📡 Записаться на тестовый (мок) собес: https://t.ly/lXoVH
✉️ Связь с автором канала - [email protected]
***
Ссылки от Саши:
Видео:
Канал Саши про Lisp: / @40ants
Доклад "Макросы для Питониста", PyCon Russia 2019, про трансформации AST с помощью Macropy и не только: • Александр Артёменко, Яндекс «Макросы для П...
Доклад "Бесполезный REPL", Pytup 2019, про альтернативу расширению "autoimport": • "Бесполезный REPL", Александр Артеменко (Я...
Книги:
https://gigamonkeys.com/book/ - книга Practical Common Lisp (автор открыл к ней доступ)
https://github.com/Apress/common-lisp... - книга про устройство исключений и рестартов в Lisp
Python библиотеки, упомянутые в видео:
https://hylang.org/ - Lisp синтаксис "поверх" Python - для полноценных макросов
https://macropy3.readthedocs.io - хелперы для описания макросов на Python
https://pypi.org/project/multimethod/ - реализация multi-dispatch
https://github.com/svetlyak40wt/pytho... - мой прототип реализующий на Python рестарты "как в Common Lisp"
***
Ссылки от Виталия:
https://t.me/jstsmentor - группа в Телеграм, посвященная JS/TS разработке.
***
Таймкоды:
-- Введение и первый контакт с Lisp
00:00 — Пилотный выпуск Python Mentor и гость из Яндекса
00:26 — Первое знакомство с Lisp через GIMP и Scheme
01:40 — Книга Practical Common Lisp и почему язык не меняется десятилетиями
02:11 — Используется ли Lisp сегодня и кем
04:55 — История Lisp и почему у него так много диалектов
-- Зачем Python-разработчику Lisp
10:20 — Сходства Python и Lisp: динамическая типизация
12:05 — Является ли Lisp функциональным языком
13:42 — Когда стоит выбрать Lisp вместо Python
14:25 — Макросы и DSL вместо YAML и кодогенерации
17:54 — Метаклассы в Python vs CLOS в Lisp
-- Макросы: ключевая суперсила Lisp
21:42 — Макросы в Python: почему это сложно
23:47 — Как макросы выглядят в Lisp и почему это проще
24:35 — Код как данные: фундаментальная идея Lisp
26:12 — Compile-time: как Lisp раскрывает макросы
28:16 — Генерация кода во время компиляции
-- Производительность и best practices
31:52 — Статический анализ в динамическом языке
35:00 — Как макросы влияют на производительность
36:15 — Инлайнинг, макросы и стек вызовов
38:05 — Когда макросы использовать нельзя
39:42 — Макросы как реализация синтаксиса языка
-- DSL, HTML и REPL
40:49 — Макросы и шаблонизаторы: аналогия с Jinja
41:23 — HTML-шаблоны прямо на Lisp
42:33 — Встраивание логики и циклов в DSL
43:35 — REPL в Lisp и мгновенная перекомпиляция
45:45 — Быстрый цикл обратной связи как ключевое преимущество
-- Hot Reload и модель символов
47:24 — Почему hot reload в Python — это боль
48:49 — Как Lisp обновляет код в работающей системе
49:54 — Символы: функция и значение под одним именем
53:04 — Зачем одному имени несколько смыслов
55:24 — Структуры vs классы и свобода стиля
-- Многопоточность и Enterprise
57:07 — Почему Lisp редко используют в enterprise
57:36 — Реальные production-кейсы на Common Lisp
59:53 — GIL в Python vs потоки в Lisp
1:01:01 — Абстракции для кросс-реализационной совместимости
1:03:56 — Акторы, lock-free очереди и практическая многопоточность
***
#python #lisp #podcast #подкаст