В этом выпуске мы пообщались с легендарным реверс-инженером Деми Мурычем, который поделился своим опытом и нетривиальными взглядами на 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) - Финал: ностальгия и благодарность зрителям
★ Support this podcast ★