I'm a long term user of C++ and just starting out with D. I'm mostly convinced but there aresome cracks showing. I'm currently working on a small project in D which I intend to compare with its equivalent in C++ and possibly another contender language or two for subsequent projects.
I discovered two compiler bugs within two days of using D and have since made two feature requests. All of which can be found here.
I can be contacted as tortoise_74 on yahoo (.co.uk).
My home web page is:
There isn't very much programming related stuff there at the moment but there may be in the future.
DMD supports unit testing and coverage analysis but only in a very crude way. Its better than nothing but its practically an afterthought in an otherwise well thought out refactoring and enhancement of C++.
- The coverage tool gives only line coverage. Executing all lines does not prove good test coverage.
- assert is too weak by itself for a unit testing framework. See for example xunit http://en.wikipedia.org/wiki/XUnit
- DMDs error messages are very unhelpful when compared to g++'s error messages.
- gdc is broken on cygwin (windows)
- Doxygen support is incomplete - I have yet to discover how much of a problem this is.
- There aren't enough containers. The arrays are good but they are not enough on their own.
- Many things remain mysterious without repeated newgroup postings.
What are the 'cracks' in D I mention above I hear you ask?
- constness gone mad
- The mixin construct is powerful but too much like a glorified macro. There are better ways to do meta-programming.
- __FILE__ & __LINE__ are hard to use