Бесплатный курс Cornell по компиляторам — и почему сооснователь WebAssembly правит одну главу
CS 6120 — аспирантский курс Корнелла по компиляторам, открытый для самостоятельного изучения: 14 уроков, реальные статьи с PLDI и ASPLOS, задачи на учебном IR под названием Bril — за «четыре воображаемых кредита». А первый комментарий написал соавтор WebAssembly: раздел о трассировочной компиляции учит тупиковой технике.
CS 6120 — курс Адриана Сэмпсона из Cornell для аспирантов, выложен в режиме самообучения без регистрации. 14 уроков: от SSA до динамических компиляторов, статьи с PLDI/ASPLOS, задачи на Bril — минималистичном IR, созданном специально для курса.
Главный комментарий написал действующий инженер компиляторов: трассировочная компиляция — «тупик», от неё раз за разом отказываются. Важнее — обратная связь по типам, спекуляция и деоптимизация.
Аспирантский курс, который можно пройти в одиночку
CS 6120 — курс Адриана Сэмпсона по компиляторам уровня PhD в Cornell, опубликованный в формате самообучения: без записи, в своём темпе, за то, что страница весело называет «четыре воображаемых кредита (без оценок)». Каждый из 14 уроков сочетает видеолекцию с конспектом, подборкой исследовательских статей с PLDI, ASPLOS и OOPSLA и практическим заданием. Задания выполняются на двух инструментах: LLVM и Bril — намеренно минималистичном промежуточном представлении, которое Сэмпсон создал специально для обучения. Программа охватывает представление программ, локальную оптимизацию, анализ потока данных, форму SSA, анализ циклов и межпроцедурный анализ, анализ псевдонимов, управление памятью, динамические и быстрые компиляторы.
При 362 голосах тред получился небольшим, но острым: самые полезные комментарии не хвалили курс, а переписывали его программу.
Инженер компиляторов переписывает главу о динамических компиляторах
Главный голос в треде принадлежит человеку с реальным весом, и он использовал его для предупреждения о конкретном уроке.
«Раздел о динамических компиляторах почти целиком посвящён трассировочной компиляции. Трассировочная компиляция — тупик, от неё раз за разом отказывались. Важнее здесь — обратная связь по типам, спекуляция и деоптимизация, а также быстрые компиляторы и уровни компиляции.» — titzer, сооснователь WebAssembly и бывший технический руководитель компилятора V8
Общую оценку курса он сохранил положительной: критика точечная, а не отказ от курса целиком.
«Что здесь «продвинутого»?»
Второй компетентный читатель поставил вопрос с противоположной стороны: список тем выглядит как первый курс по компиляторам, а не продвинутый.
«Мне немного непонятно, что делает этот курс «продвинутым». Большинство тем — устранение мёртвого кода, анализ потока данных, анализ доминаторов, форма SSA — кажутся материалом первого курса по компиляторам.» — Jeremy Kun, автор книги «A Programmer's Introduction to Mathematics»
Это противоречие реально: канонический материал, поданный на исследовательской высоте через статьи, а не учебник, и есть то, что слово «продвинутый» здесь означает.
Постоянный фаворит — и с чего начать перед ним
Курс регулярно всплывает на HN: треды 2020, 2023 и 2024 годов перечислил один из читателей. Новички задавали практические вопросы: есть ли «базовый» курс по компиляторам для начала, и как CS 6120 соотносится с книгой Норы Сэндлер «Writing a C Compiler»? Честный вывод из треда: CS 6120 — не туториал с нуля. Он предполагает, что вы уже умеете написать простой компилятор и хотите изучить, как производственные компиляторы анализируют и оптимизируют код, опираясь на первоисточники. Самое ценное в обсуждении — не ссылка на курс, которую все поставили голос «за», а совет действующего инженера компиляторов: какую главу читать с осторожностью.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Сайт с 50 площадками для публикации проектов — и SEO-трюк, который уже не работает
submission.directory — одна страница: 50 сайтов, куда можно выложить свой проект ради «качественных бэклинков». На первом месте — Medium, «высокоавторитетная издательская платформа». Половина треда заметила, что в 2026 году Medium — это в основном ИИ-мусор, который никто не читает.