Программирование [Дмитрий Сошников] Typechecker (типизатор) с нуля

Регистрация
11 Сен 2026
Сообщения
6,748
Реакции
1
Продолжительность2 ч 16 мин Количество уроков20 Видео ЯзыкАнглийский Вес архива806 МБ


Автор: Дмитрий Сошников​
Название: Typechecker (типизатор) с нуля​

cover.jpg

ОНЛАЙН ВИДЕО УРОКИ: ТОЛЬКО ДЛЯ PROMAX!


Хотите понять, как реальные языки программирования проверяют типы, находят ошибки до запуска и обеспечивают безопасность кода? В этом курсе вы на практике создадите собственный статический типизатор с нуля — понятный, компактный и полностью рабочий.

Почему стоит изучить построение типизатора

Нетипизированные программы подвержены множеству скрытых ошибок, которые проявляются только во время выполнения. Статический типизатор позволяет:

• обнаруживать ошибки ещё на этапе разработки;
• ускорять процесс отладки;
• повышать надежность и предсказуемость кода;
• облегчать поддержку и развитие проекта.

При этом большинство материалов о теории типов объясняют концепции абстрактно и не показывают, как построить реальный работающий типизатор. Этот курс создан, чтобы заполнить пробел.

Что будет в курсе

Курс фокусируется на статической типизации и поэтапно показывает, как разработать типизатор, похожий по идеям на TypeScript или Java. Мы начинаем с базовых концепций теории типов, а затем — сразу к практике.

Основные темы

• что такое вывод типов и типовые суждения;
• сильная и слабая типизация — что это значит на практике;
• как организована система типов внутри языков программирования;
• архитектура и структура модулей типизатора;
• построение собственных правил вывода и проверки типов;
• алгоритмы унификации и проверки совместимости типов.

Практическая часть

С первых лекций вы будете писать код типизатора самостоятельно, шаг за шагом. Каждая деталь объясняется в live‑сессиях и закрепляется через задания в репозитории.

Навыки, которые вы получите

• понимание внутренних механизмов компиляторов и языка;
• умение проектировать сложные системы с нуля;
• практический опыт работы со структурами данных и алгоритмами;
• глубокое понимание систем типов — знания, которые легко переносить между языками.

Предварительные требования

Желательно, но не обязательно пройти курс «Построение интерпретатора с нуля». Если вы уже понимаете, что такое eval, замыкания, цепочка областей видимости и работа интерпретаторов, вы готовы к материалу.

Для кого этот курс

Курс подойдет инженерам, которые:

• интересуются компиляторами, языками программирования и теорией типов;
• хотят построить модуль типизации для собственного языка;
• стремятся прокачать инженерные навыки через разработку сложных систем;
• любят разбираться в фундаментальных концепциях на практике.

Используемые технологии

Типизатор мы пишем на чистом JavaScript, поскольку он доступен практически всем, а реализацию легко перенести в любой другой язык: TypeScript, Rust, OCaml, C++, Python и т. д.

Код в репозитории содержит задания с пометкой /* Реализовать здесь */, чтобы вы не просто копировали решение, а понимали и создавали типизатор самостоятельно.

СКАЧАТЬ:
Скрытое содержимое могут видеть только пользователи групп(ы): ProMAX

 

Похожие темы

11,066Темы
11,128Сообщения
828Пользователи
укрцеуНовый пользователь
Сверху