CPPGM пришлось оставить по ряду причин
1. Используется версия С++11, в которой я пока не силён, а она весьма сильно отличается от предыдущих версий языка.
2. В курсе предполагается, что уже умеешь писать компилятор, т.е. надо было освоить или Dragon Book или курс Компиляторов на Курсере. На тот момент ни одного, ни другого за плечами не было.
3. Курс оказался не столько учебный, сколько сертификационный, т.е. в отличие от Курсеровских MOOC там никто ничего не объясняет, только выдают задания и проверяют решения.
В итоге я принял решение перевестись на следующий набор (предположительно будет в начале 2015 года) а пока поделаю без спешки задания текущего потока. Вместо этого, на этот год я набрал кучу Курсеровских курсов, дающих сильную подготовку в области компиляторов и языков программирования:
- Compilers (закончил с отличием и программной реализацией компилятора с учебного языка COOL в архитектуру MIPS).
- Algorithms (1 и 2 части) - общий курс по алгоритмам общего назначения, в т.ч. необходимым и для компиляции.
- High Performance Scientific Computing - технологии MPI и OpenMP для параллельного программирования и гостевая лекция от сотрудника Cray Research по перспективным разработкам языков параллельного программирования.
- Functional Programming Principles in Scala - идеи функционального программирования от одного из классических представителей ФП.
- Programming Languages - мощный обзорный курс по разным технологиям, применяющимся в языках программирования.
- An Introduction to Interactive Programming in Python - слабенький курс по так себе языку
![Улыбается :)](./images/smilies/icon_e_smile.gif)
.
- C++ For C Programmers - неплохой курс как раз по версии С++11.
- Automata - обзорный курс по конечным автоматам, основа практической реализации любого вменяемого компилятора. Начинается 4-го ноября.
- Principles of Reactive Programming - аспекты практического использования ФП. Также начинается 4-го ноября.
В декабре заканчивается последний из перечисленных курсов, после этого, думаю, будет вполне достаточный багаж для доведения до ума собственного языка программирования и создания мультикомпилятора. Начало проекта запланировал на декабрь этого года.