Future of contract-based programming in D

Delirius via Digitalmars-d digitalmars-d at puremagic.com
Tue Apr 7 05:51:44 PDT 2015


The D features which interest me the most are those supporting 
contract-based programming. I want to experiment with that and I 
know no other production ready  language which has this level of 
support, except the original gangsta Eiffel but the only 
supported Eiffel compiler is proprietary and expensive.

Thing is, while contract-based programming was promoted by Walter 
Bright in the early days it seems to get no attention nowadays. 
There are critical bugs in it e.g. contracts do not work 
correctly with interfaces. Also the compiler does not utilize the 
contracts for advanced static analysis and optimizations which 
are enabled by them.

But the most worrying thing is that Andrei Alexandrescu obviously 
does not like contract-based programming at all. I read a thread 
here where he wrote you should get rid of those in/out contracts 
and replace them with assert()s in the function body.

Now we all know that the vultures are already circling above Mr. 
Bright and after his departure Alexandrescu will be D's Ceausescu 
(horrible pun intended) and that really makes me worry about the 
future of contract-based programming in D.

But I am not following D's development that closely it is just 
one of many interesting languages I casually watch / consider for 
experiments. So I would like to hear a more inside view of the 
current and future state of contract-based programming in D.


More information about the Digitalmars-d mailing list