On Wednesday, 15 June 2016 at 13:17:46 UTC, Chris wrote:
In my experience, statically typed languages prevent a lot of silly and time consuming bugs by simply checking the type.
Yes, but I would put it more generally. Matching a program against a specification of constraints prevents a set of runtime errors and bugs. But providing the specification is also tedious.
You can have much stronger static verification of constraints than in C++/D. For instance check the various legal states and what transitions you can have between them.
I am certainly in favour of more static checks, but I am pleasantly surprised at what can be achieved with optional static analysis.
