
udemy
Udemy - одна из самых больших площадок в мире по доставке обучающего контента от разных авторов всего мира. Присутсвуют курсы практически на любую тему.
Семантика языков программирования. Как языки программирования работают под капотом? В чем разница между компилятором и интерпретатором? Что такое виртуальная машина и JIT-компилятор? А как насчет разницы между функциональным и императивным программированием?
Когда дело доходит до реализации языка программирования, возникает множество вопросов!
Проблема с "курсами компиляторов" в учебных заведениях заключается в том, что они часто представляются как "жесткое ракетостроение", предназначенное только для продвинутых инженеров. Классические книги по компиляторам начинают с тем, как лексический анализ, уходя вглубь теоретических аспектов формальных грамматик. Внедрение первого модуля Tokenizer может быстро угасить интерес студентов, так как они не успевают приступить к реализации самого языка программирования. Это занимает целый учебный семестр, фокусируясь на токенизаторах и грамматиках BNF, без связи с реальной семантикой языков программирования.
Я верю, что возможно построить и понять полную семантику языка программирования всего за 4-6 часов. Контент сфокусирован и представлен через парное программирование в реальном времени.
В этом курсе мы сосредоточимся на семантике времени выполнения и создаем интерпретатор для языка программирования, подобного JavaScript или Python.
Реализация собственного языка программирования повысит вашу профессиональную компетентность в других языках.
Урок предназначен для инженеров, стремящихся освоить навыки построения сложных систем, таких как языки программирования. Если вас интересуют компиляторы, интерпретаторы и инструменты преобразования исходного кода, то этот курс для вас.
Единственное требование — знание базовых структур данных и алгоритмов: деревья, списки, обходы.
Так как мы создаем язык, подобный JavaScript или Python, используем JavaScript для реализации благодаря его многопарадигматической структуре. Несмотря на это, курс легко адаптируется под TypeScript, Python, Java, C++, Rust и другие языки.
Курс поделен на четыре части, включает 18 лекций и множество подтем. Просьба ознакомиться с учебной программой для подробного описания лекций.

Udemy - одна из самых больших площадок в мире по доставке обучающего контента от разных авторов всего мира. Присутсвуют курсы практически на любую тему.

Дмитрий Сошников - инженер-программист, читает лекции по различным темам информатики. Он увлечен образованием и уделяет особое внимание высококачественному образовательному контенту: кратким и понятным анимированным лекциям с заметками в реальном времени.