Язык D, не смотря на то, что никак не может стабилизироваться, имеет несколько интересных особенностей. Самая важная из которых, пожалуй, система шаблонов. Не могу сравнить шаблоны D1/D2 с C++11, но вот то, что D-шные шаблоны да еще в сочетании со static if мощнее тех, которые в C++03 – это точно.
Сегодня узнал о существовании проекта по написанию руководства по использованию D-шных шаблонов: https://github.com/PhilippeSigaud/D-templates-tutorial
Всем интересующихся смело рекомендую. Просмотрел по диагонали тамошнюю PDF-ку – внушаить, даже самому захотелось прочитать (но вряд ли, однако, найду время).
6 комментариев:
D'шные мощней конечно чем C++11 без вопросов, особенно учитывая CTFE который заменяет во многих случаях шаблоны, притом вместо маловразумительного метапрограммирования на шаблонах получается обычная функция, написанная на том же D. При этом constexpr из C++11 аналогично слишком убог по сравнению с CTFE из D.
@Rustam:
Наверняка так и есть. Просто я пока еще C++11 не смотрел, т.к. на работе пока еще не переходим на новые версии C++ компиляторов, в которых часть вкусностей из C++11 уже есть, работаем еще на старых. Когда будем обновляться, тогда и буду изучать.
кстати, они там в CTFE утечку памяти пофиксили уже?
@имя:
Без понятия, самим языком D я уже давно не пользуюсь.
я думал рустам ответит, он вроде следит за Д
там было дело при вычислении CTFE не удалялась память из под использованных выражений, т.е. цикл вида "к строке прибавляем по букве" держал все старые версии строк в памяти
@имя
Я скорее не слежу за D а так одним глазом посматриваю. К сожалению для серьезной работы он пока не годен. А про этот баг узнал от тебя, судя по описанию он не очень серъезный и не влияет на генерируемый код.
Отправить комментарий