Думаете ли вы о краткосрочном, то есть о сжатых сроках, о том, чтобы приступить к работе на следующей неделе, или о долгосрочном, то есть о ранних этапах планирования большого многолетнего проекта?
Если вы заинтересованы в краткосрочной перспективе, я бы рекомендовал против D. Это все еще слишком круто.
В долгосрочной перспективе, однако, D начинает стабилизироваться. Версия 2 языка, вероятно, будет стабильной через 6 месяцев. Андрей Александреску выпускает книгу «Язык программирования D» в марте, и делается огромный шаг, чтобы стабилизировать D2 для него.
Что касается подводных камней, я бы сказал, что самый большой из них заключается в том, что идиоматический способ D делать большинство вещей - это множество шаблонов, что затрудняет создание стабильных ABI для вещей. Это может быть сделано, это просто не идиоматично. Другая причина в том, что пока нет хорошей библиотеки контейнеров для версии 2 языка, хотя, видимо, над этим работают.
С точки зрения производительности, DMD, являющаяся эталонной реализацией, имеет старый оптимизатор. Если вы действительно одержимы производительностью, это может быть проблемой. GDC, D-компилятор для GCC, имеет лучший оптимизатор, но всегда отстает от нескольких выпусков. LDC, D-компилятор для LLVM, имеет потрясающий оптимизатор, но поддерживает только версию 1 языка. D, однако, должен быть таким же быстрым, как C ++, а D, скомпилированный с DMD, действительно так же быстр, как C ++, скомпилированный с компилятором Digital Mars C ++, в соответствии с моими тестами.