I have been doing my first serious attempt at D after convincing other people that it was the way to go quite a few years ago. (My copy of "The D Programming Language" doesn't have Andrei's name on it so it would have been around that time) and these are the things which are fresh for me.
I had no idea that it was so easy to call C code from my D code, and how little effort I had to go to disguise the fact that it was C code thanks mostly to UFCS and @property. This makes it feasible to write bindings on the fly and makes me a lot less hesitant to try using it for any job I could use C or C++. So far so good. Now lets get to the friction points. Tooling - it's still a step down from what I am used to with C/C++ on linux. This is now for me at the point where it is acceptable but not great. Documentation - What is there is generally quite good, also quite terse. I am not seeing a huge number D specific results whenever I search on any issues I am having with my code. The Standard Library. I want to use D so I can do more with less hours writing code and less hours debugging code. Having a high quality standard library really helps this - unfortunately for me the first thing I needed from the standard library was xml parsing, which the documentation tells me is sub par and will be replaced in the near future, There is no indication of what I might like to use instead. Do I now use one of the other xml libraries floating around, bind a C based one or roll my own. All this eats into the efficiency that I am gaining by virtue of D being a really nice language.
