Дизайн языков программирования / Гипервизоры / Будущее системного программирования
Description
В этом выпуске мы побеседовали с Николаем Иготти — разработчиком с опытом сразу во многих сферах системного программирования. Николай разрабатывал виртуальные машины (Java HotSpot), компиляторы (Kotlin/Native), гипервизоры (VirtualBox). Также в портфолио нашего гостя — браузеры Firefox, Chrome и высокопроизводительные системы хранения.
Николай рассказал о преемственности виртуальных машин, различных моделях памяти, дизайне современных языков программирования и их subsetting'e. Порассуждал с ведущими о проблемах существующих компиляторов, о системном программировании и его развитии. Также Николай раскрыл уникальности виртуальной машины V8, преимущества TypeScript в ракурсе метапрограммирования и особенности WASM.
Эти и многие другие темы — в 17-м эпизоде подкаста. Бонус — разбор того, что не давало запустить VirtualBox c MacOS на архитектуре x86.
Упомянутая конференция по системному программированию: https://sysconf.pro/
Видеоверсия выпуска на YouTube: https://youtu.be/6eW6Jvs7lfU
Видеоверсия выпуска на Rutube: https://rutube.ru/video/487aa879a208d021081bc03513e6adf0/
✅Подписывайтесь на Telegram-канал подкаста: https://t.me/+-VUGCsSM9Do3MTQy
🔹Станьте частью команды YADRO! https://careers.yadro.com
0:00 — Тизер
0:48 — Представление Николая Иготти
1:24 — Карьерный путь Николая
6:16 — HotSpot, V8, Dart VM: преемственность и отличия виртуальных машин
9:23 — Модели памяти и сложности управления памятью для конкурентного кода
12:24 — Связь VM и процессора
19:35 — Нативная компиляция
27:09 — Гипервизоры / работа в VirtualBox
37:21 — Особенности системного программирования и отличия от прикладного
44:15 — Чему нужно учить будущих системных программистов
47:34 — Система типов и спекулятивная типизация в V8
51:51 — Есть ли место R&D в современном системном программировании
1:10:02 — Интероперабельность разных языков
1:15:30 — Проблемы при создании нового языка
1:17:45 — Интересные компиляторные задачи
1:22:26 — Почему создание современных UI-фреймворков - это компиляторная задача
1:25:13 — Проблемы большинства современных компиляторов
1:34:01 — Subsetting языков программирования
1:39:49 — Разница западных и восточных IT-компаний
1:48:51 — Стоит ли преподавать системное ПО на курсах вне ВУЗа
1:53:50 — Заключение
1:55:42 — Анонс конференции sysconf