I'm not sure if bearophile or some other language advocate posted this already, but:
http://www.reddit.com/r/programming/comments/c3p8e/ if_you_have_to_learn_just_one_programming_language/ "Here are my criteria for selecting (a non domain specific) language to learn." "It should provide high level of abstraction so that programmer productivity is high. A fast running application written in C that takes 6 months is — in most cases — not as useful as one that can be completed in 1 month: programmer cost as well as time-to-market considerations." D is very close to C. The productivity is much lower than with other modern scripting or hybrid-functional languages. "Speed: It should be fast (should approach C in speed)." DMD is much slower than Sun Javac/Jvm 7, GNU GCC 4.5, and LLVM. "Succinct: The language should not be verbose. This is very important. Brevity is one reason why Python and Ruby are popular." For example the lambda syntax is terribly verbose in D compared to Scala or Haskell. "It should be a mature and time-tested language with active development, user base and lots of applications." D & DMD are unstable, badly specified, buggy and most dsource projects are deprecated (D1) or dead. "Platform agnostic: It should not favor or give advantage to one platform." DMD only works on 32-bit x86. "Code readability and maintainability: It should be relatively easy for authors and others to maintain existing code." Java 2-7 is very backwards compatible compared to D2. "Opensource is a fine model, but if the author doesn’t want to release his/her creation under open-source he/she should be able to do so." The official backend is non-free. "Has a test framework that can generate and run tests." The integrated unittest construct is a joke compared to JUnit et al.