#39 Как писать JS-код, который не будет тормозить? Советы от Demi Murych | Максим Бобров
В этом выпуске мы пообщались с легендарным реверс-инженером Деми Мурычем, который поделился своим опытом и нетривиальными взглядами на JavaScript. Обсудили, как правильно работать с var, let и const, затронули актуальные вопросы производительности, а также порассуждали о будущем языка и роли TypeScript. Не обошли стороной тему искусственного интеллекта, его влияния на код и профессиональные навыки программистов. Получилась живая беседа с байками, инсайтами и философскими отступлениями. Не пропустите — вас ждут практические советы, нестандартные идеи и свежий взгляд на развитие экосистемы JS!
- (00:00) - Введение и анонс
- (02:48) - Let vs Const: настоящая угроза быстродействию?
- (06:25) - ES15 и полный анализ бандла: где спрятана «просадка»?
- (08:20) - TypeScript: спасение или «костыль» для JavaScript?
- (10:14) - Статические типы и их влияние: нужен ли новый JavaScript?
- (11:11) - Google Docs и 1,5 млн идентификаторов: уроки для всех
- (12:05) - const против var: мифы, реальность и боль больших проектов
- (13:02) - Как PHP умнее обращается с замыканиями (и зачем нам это знать?)
- (15:53) - Оптимизация V8: секреты «под капотом» движка
- (20:36) - Когда миллион строк JS-кода — не приговор
- (22:28) - Предварительная оптимизация: действительно ли «корень всех зол»?
- (23:26) - Проблемы с производительностью в React: почему она часто «пробуксовывает»
- (24:23) - Многоверсионная оптимизация: как функции ломают V8
- (27:12) - TypeScript и производительность: чего мы не учитываем?
- (29:05) - Почему React-экосистема может быть «медленной»
- (31:57) - Разделение труда: почему интегратор — не полноценный разработчик
- (33:51) - Статическая типизация: снимаем нагрузку с рантайма
- (35:46) - V8 Lite: отключаем «умную» оптимизацию ради скорости
- (36:44) - Typeesript: в чём подвох «статических» типов?
- (39:34) - Node.js и TypeScript: куда идёт Microsoft?
- (41:28) - Хаос JavaScript: гибкость против системности
- (45:12) - Object Assignment Pattern: цена красивого кода
- (46:10) - Как помогать компилятору и не тратить ресурсы впустую
- (48:03) - TypeScript: «простые вещи сложными, а сложные — простыми»
- (49:56) - Совместимость по типам: почему без неё язык не выживет
- (51:48) - Как Facebook проиграл TypeScript в начале пути
- (53:42) - Когда система типов мешает писать легко
- (54:40) - Искусственный интеллект против типов: кто победит?
- (56:34) - ChatGPT и автогенерация: почему опасно верить слепо
- (57:28) - Ассистент для профи: как не стать заложником инструмента
- (59:21) - «Цифровой дебилизм»: теряем ли мы навыки из-за AI?
- (01:01:15) - Docker-файлы и ChatGPT: границы разумной автоматизации
- (01:02:11) - Код на русском: почему мозг «ломается»
- (01:04:05) - Новый формат работы: программист-ассистент
- (01:05:58) - Сложный проект и AI: где лежит предел?
- (01:06:55) - Копипаста и исчезающая абстракция
- (01:07:51) - Чёрный ящик: когда нейросеть пишет весь код
- (01:08:46) - Многопоточность в JS: реальность или пока эксперимент?
- (01:10:39) - Shadow Realm: создаём безопасные песочницы внутри JS
- (01:13:28) - Content Security Policy: подпись скриптов как новый стандарт
- (01:15:21) - Изоляция и Docker: спасают ли от критичных ошибок?
- (01:18:08) - Почему специалистов по кибербезопасности не хватает
- (01:19:06) - «Детские» баги: почему мы наступаем на те же грабли
- (01:21:58) - Семантическая вёрстка и микроразметка: дружба с поисковиками
- (01:24:49) - Подмена контента: разрешённые хитрости Google
- (01:28:34) - Гибкая выборка: как индексировать материалы с подпиской
- (01:29:31) - Flexible Sampling: Google и «усечённый» контент
- (01:31:24) - Проблемы с SEO и автоматизацией
- (01:34:12) - SSR: порок или спасение для SEO?
- (01:36:58) - HTML, XHTML и свобода JavaScript: кто победил?
- (01:39:47) - Dart и WebAssembly: две истории, которым не дали взлететь
- (01:40:44) - WebAssembly без доступа к DOM: где выход?
- (01:41:42) - Возвращение Flash: возможен ли «камбэк»?
- (01:42:38) - Adobe после Flash: жизнь в корпоративном мире
- (01:44:33) - WebAssembly GC: ключ к ускоренной компиляции?
- (01:45:29) - Почему Google держится за JavaScript и не отпускает
- (01:47:23) - Универсальный WASM-модуль: пишем один код для всех платформ
- (01:50:13) - Минимизируем зависимости: тренд на «маленький бандл»
- (01:52:05) - Динамический импорт и подводные камни для сборки
- (01:53:01) - «Учиться учиться»: как правильно формировать мозг программиста
- (01:53:55) - Теория против практики: что важнее в коде
- (01:55:49) - Ошибки и рефакторинг: путь к настоящему мастерству
- (01:56:45) - Возвращение идей по спирали: почему всё повторяется
- (01:58:38) - Финал: ностальгия и благодарность зрителям
Creators and Guests

Guest
Demi Murych Максим Бобров
реверс инженер. основные языки программирования: язык ассемблера для x86 архитектуры и язык JavaScript. первую программу, которой пользовался кто-то кроме меня, написал больше 33 лет назад. автор компьютерных - вирусов, времен конца 90-тых начала 2000 годов. Широко известен в узких кругах вирусной сцены тех лет. автор взломов двух веб проектов, связанных с украинским ТВ в 2000 годах: канал Inter и STB. руководил и разрабатывал веб - инфраструктуру музыкального фестиваля казантип. уже 5 лет пишу книжку о JavaScript. знаю про JavaScript то, что никто не знает
