D проще плюсов на порядок. И включает явный способ отключить "небезопасные" фичи. А создание DSL так, как это делалось на плюсах (шаблоны + перегрузка операторов) в D не приветствуется - есть более прямой способ. Речь не о создании среды, а о базовом доступном наборе примитивов - допустим, прямая и удобная реализация value-типов (в D это struct) и их явное отличие от объектов, возможность итерации по пользовательскому объекту.На D2 поглядеть стоит - там от первой версии мало что осталось.
Что же касается Go, то за одну идею об экспоре идентификаторов, начинающихся с большой буквы их надо далеко послать.
Впрочем, можно сказать, что Go - это подмножество D2 - от привязки "псевдометодов" к объектам до обмена сообщениями между потоками.