Функциональное программирование на С++

топ 100 блогов zabivator08.02.2010 Бьярн Страуструп - "Дизайн и эволюция языка С++" ==================> "Как я родил ёжика"
Андрей Александреску - "Современное проектирвоание на языке С++" ======> "Как я трахнул ёжика"

C++ - ужасный, страшный, и совершенно уродский язык.
Однако, знаете ли вы, что
* С++ шаблоны - это полноценная нетипизированная лямбда? (вы не ослышались, нетипизированная. Сами шаблоны внутри себя типов не имеют).
* На шаблонах можно построить нумералы Чёрча
* На шаблонах выполняются три типа редукции
* Инстанцирование шаблона - это редукция терма в нормальную форму
* Шаблоны С++ - полноценный glue language для метапрограммирования, прозрачно проинтегрированный с самим С++ (lisp проинтегрирован лучше, template haskell - хуже)
* Язык шаблонов тьюринг-полон, и программы на нём написанные выполняются на этапе компиляции

В целом, однозначно, я не видел настолько мощного языка для обобщенного программирования, метапрограммирования.
В ocaml не хватает параметрического полиморфизма, в lisp типизации (в С++ нетипизированная лямбда внутри шаблонов, но типизированный результирующий код. Уникальный feature, нигде больше такого не видел), а в haskell - простоты.
Да, вы не ослышались, шаблоны С++ и язык на их базе очень прост.
Как-нибудь напишу примерчики и маленький туториал
Теперь ложка дёгтя

* Очень медленно компилируется и требуется прорву оперативной памяти для компиляции. Фактически, имеет экпонециальную зависимость оперативной памяти потребляемой компилятором и размер объектных файлов от размера кода.
* Замангленные в Си имена ужасно нечитаемы
* Не имеет внятной и удобной стратегии обработки ошибок метапрограмм
* Не имеет удобного отладчика
* Совершенно ублюдский, многословный, неочевидный синтаксис

Знакомиться just for fun - обязательно. Я уверен, что у шаблонов C++ есть чему поучиться программистам на всех языках.
Книги для чтения
Функциональное программирование на С++ Функциональное программирование на С++ Boost.MPL - metaprogramming library

Оставить комментарий

Архив записей в блогах:
Сегодня жизнь жителей Земли навсегда изменится. Немецкое новостное агентство с очень длинным названием именно так анонсирует сенсационные разоблачения Путина, которые они обещали дать сегодня, и добавляют, что после этого Пескову будет некогда спать. Пескову уже не до сна. Уже неделю Кре ...
Что же, сегодняшняя речь Путина себя очень хорошо показала, обвалив курс рубля, на фоне того как вчера Центробанк старательно пытался реанимировать национальную валюту Российской Федерации слив в унитаз менее чем за 3 минуты $700 млн! Тем не менее, столь радикальные меры не только не пом ...
... что отдыхают, не отходя от рабочего места. Ответственная работница "передней парты". А это гигиенистка. Как гласит народная мудрость: "Нам хоть бревна катать, лишь бы лёжа". ...
Что вы думаете, все эти люди в центре Москвы делают? Район Китай-города, Ильинский парк, мне по делам надо было, мимо проходила в выходные. Ищут покемонов! Покемономания захватывает Москву.... ...
Да-да, это они. Одно из рабочих обличий. То существо, которого уважаемая wehwehchen определила в бафометы, просто сущее дитя по сравнению с этими ...