Хотите создать собственный язык программирования, но не знаете, с чего начать? Этот практический курс поможет вам шаг за шагом разобраться в ключевых принципах языкового дизайна, создании синтаксиса, разборе структуры кода и построении интерпретатора. Материал подходит как для энтузиастов, так и для разработчиков, которым нужен кастомный DSL или расширение для JavaScript.
Что вы изучите на курсе
Курс последовательно проведет вас по всему пути создания языка — от идеи до реализации и интеграции в рабочий проект.
Базовые концепции языкового дизайна
Как устроены современные языки программирования.
Основы синтаксиса, семантики и проектирования возможностей языка.
Примеры удачных и неудачных решений в реальных языках.
Создание структуры языка
Вы шаг за шагом разберетесь, как превратить исходный код в понятную для компьютера структуру.
Лексический анализ
Разбиение кода на токены.
Определение переменных, функций, операторов и управляющих конструкций.
Построение абстрактного синтаксического дерева (AST)
Понимание структуры программы через AST.
Анализ логики и определение выполняемых действий.
Создание интерпретатора
Вы научитесь писать интерпретатор, который сможет выполнять ваш код и обеспечивать корректную логику работы вашего языка.
Практика и применение
После изучения фундаментальных принципов вы перейдете к использованию своего языка на практике.
Транспиляция в JavaScript
Преобразование вашего языка в JavaScript.
Возможность интеграции в веб‑приложения и существующие проекты.
Расширение JavaScript
Вы также узнаете, как создавать гигиенические макросы, позволяющие расширять и модифицировать возможности JavaScript без нарушения структуры его кода.
Кому подойдет этот курс
Разработчикам, желающим попробовать себя в создании языков.
Тем, кто хочет создать DSL или шаблонный язык для продукта.
Программистам, стремящимся глубже понимать работу парсеров и интерпретаторов.
Энтузиастам, исследующим ReasonML, Elm, CoffeeScript и другие языки.
FrontendMasters — одна из ведущих онлайн-платформ для изучения фронтенд- и веб-разработки. Курсы представлены в формате видеоворкшопов и преподаются практикующими экспертами из крупных технологических компаний. Платформа охватывает широкий спектр современных технологий (JavaScript, React, TypeScript и др.) и делает упор на глубокое понимание и применение знаний на практике.
Стив - архитектор фронтенда в компании Temporal. Ранее он занимал аналогичную должность в Twilio и SendGrid. Стив также является основателем и почетным директором программы обучения фронтенд-разработке в Turing School for Software and Design в Денвере, Колорадо — это некоммерческая программа подготовки разработчиков. В прошлой жизни Стив был учителем в государственных школах Нью-Йорка, где он преподавал специальное образование и веб-разработку в