Ethan:
but I have
already come across a few things that make me think it's about
99% ready for production code instead of the full 100%.
D has some rough edges still, and I think most of such rough
edges are now known to D designers and the D community. Some of
those edges will be fixed (some of them even have an already
written patch in GitHub!), while some of them probably will not
be fixed or will not be fixed soon, sometimes because there is no
good way to fix them among the ecology of the other D features,
or because D designers don't want to fix them (like some
segfaults caused by nulls).
I'll go in to more detail in another thread,
Good. Reports from practical usage are usually interesting.
but I did find it odd that D is a language that aims to make
life easier for the programmer
yet makes you jump through hoops at times.
D design comes from people that have a long experience of C and
C++ (and some experience of Java and a bit of experience of
Python, and Perl). This means in D you find many details wisely
designed. But another consequence is that several parts are also
designed in a old style. Some parts of D design are surely far
away from some new trends in language design. A lot of experience
about older ways is both a blessing and a curse :-)
Bye,
bearophile