Принципы и интерпретация динамических языков программирования
В последнее время начали набирать популярность динамические языки программирования. Python и Ruby уже можно назвать мейнстримом. Основной фичей этих языков является метапрограммирование. Однако, ни Python ни Ruby не привнесли ничего нового в теорию языков программирования, а лишь переизобрели и популяризировали идеи рефлексии и метапрограммирования. Весь фундамент был заложен гораздо раньше в языках семейства Lisp. В курсе будет рассказано, почему Lisp занимает особое место среди динамических языков, будут продемонстрированы идеи, которые еще не нашли отражения в современных языках.Курс знакомит слушателей не только с идеями, но и с их программной реализацией. На примере кода интерпретаторов Lisp будет показано, с какими трудностями сталкиваются разработчики динамических языков. Изложение начнется с простых реализаций, занимающих страницу кода и дойдет до диалекта, обладающего наибольшими на сегодняшний день возможностями метапрограммирования. Особенностью курса является изложение теории реификации, которая была разработана автором на основе работ Brian Cantwell Smith. Соединив полученные знания со знаниями о синтаксическом анализе (эта тематика в курсе не рассматривается), слушатели смогут разработать самостоятельно реализацию языка уровня Python.
- АвторРоман Попов
ОрганизаторComputer Science клуб при ПОМИ РАН
Лекции
5- Принципы и интерпретация динамических языков программирования 1. Введение в Lisp
- Принципы и интерпретация динамических языков программирования 2. Универсализация синтаксиса
- Принципы и интерпретация динамических языков программирования 3. Механизация вычислений
- Принципы и интерпретация динамических языков программирования 6. Реификаторы
- Принципы и интерпретация динамических языков программирования 7. Продолжения и итераторы
Онлайн-курсы по программированию
3
Машинное обучение для анализа текстов
От бизнес-идеи к ее реализации: учимся инновационному предпринимательству с нуля.
С платными опциями

Разработка игры-платформера на Defold: базовый уровень
Создайте свой первый платформер с нуля! За 7 недель вы не просто освоите движок Defold, а пройдете весь путь геймдев-разработчика: от кода и анимаций до дизайна и сюжета.
Бесплатный

Python для начинающих
Курс посвящен основам программирования на языке Python — одном из самых популярных и понятных языков, идеально подходящих для первого знакомства с IT.
Бесплатный