On Thursday, 10 March 2016 at 21:54:33 UTC, Andrew wrote:
Don't forget to mention all the "software engineering" principles that can be taught using D too including:

Design by Contract
Literate programming (embedded documentation)

and to tool that come "standard" in the language such as

Coverage
Profiling

Surely a language such as Java is much better for things like design by contract through JML? It may not be built-in such as D's `in` and `out` blocks, but there is tool-support for both runtime and static checking, and JML can also describe things such as class invariants. That it took over two years for a bug such as https://issues.dlang.org/show_bug.cgi?id=7910 to get fixed indicates to me that nobody is really using design by contract in D, and makes me wonder how many more bugs are hiding there. Java and JML have been used in both academia and the industry for almost two decades (although it's not as popular as it could be...) so I expect most of the easy-to-encounter bugs have been solved by now.

Reply via email to