Andrei Alexandrescu:

(*) Ada has many features missing in D that make its programs
significantly safer than D programs, like:
- built-in ranged integers;
- user-defined array indexes;
- clean syntax to stack-allocate matrices of runtime-defined sizes;
- pointer kinds with different limitations;
- stack overeflow safeties;
- safe concurrency;
- no undefined semantics;
- explicit type conversions;
- sane modulus on negative numbers;
- integral runtime overflow tests;
- etc etc.

Bye,
bearophile

What did I just read? Oh boy.

Sorry, let me explain better and again. There are programming tasks where a lot of reliability is required, but for some reasons a widespread virtual machine is not desired. In such cases people sometimes use C or C++ (sometimes with some enforced restrictions) or Ada (or some of its stricter subsets, as Spark), and once in a while Eiffel. D language offers features to increase code reliability, but: - As long as D compilers and Phobos are significantly buggy, it's hard to write reliability programs, regardless of the qualities of D language. Ada specs and Ada compiler writers know this very well; - As I have listed, Ada offers numerous means to constrain code and avoid many bugs statically. From what I am seeing D is less bug-prone than C++, but more bug prone than Ada. But so far I have not seen people interested in using D in some of the places where Ada is used.

Bye,
bearophile

Reply via email to