Comment
Comment by wkornewald
Reading code like that makes me want to puke. So, he wants to increase productivity by making us think about and write theorems in addition to our normal code (don't underestimate the time you invest in this), making our code even more static and less reusable in the hope that the reduction in time for bug hunting and testing will make up for the time invested in thinking about and creating more complex code? Hard to believe. Do those language designers create this stuff to show off how intelligent they are or just for the sake of having fun or are they seriously trying to make development easier? I can't imagine building a website with this. But then again, maybe those languages are designed for satellites, space shuttles, and simulations (i.e. where correctness is far more important than productivity)? Well, I think most of us have to make a compromise between productivity and correctness. It's the same as having 100% code coverage. Nice in theory, but it makes refactorings and development too costly and still doesn't guarantee that your software is 100% correct. Here's a nice post if you still believe 100% code coverage is the ultimate #1 goal of your project:
http://blogs.msdn.com/b/cashto/archive/2009/03/31/it-s-ok-no...