Walter:

> Ada is a failed language.

I agree that as general purpose language Ada is probably a failed language. But 
currently Ada is often the best language still if you have to write the 
autopilot software for an aeroplane or something that requires software with 
minimal bug counts.

Even if Ada is globally a failed language, it's a large language composed of 
many features, so some of its feature may be good still.

D and Ada share some purposes and semantics, they are similar languages. They 
are both large system languages fit for very high performance systems, they are 
both improvements over older simpler languages (C-family and Pascal-family), 
both have generics, and so on (there are some differences too, where D tries to 
add very flexible and general features, Ada often adds many different 
specialized features that are safer. Ada doesn't value code compactness much). 
The most important shared design goal of Ada and D is that both regard program 
correctness as very important. In this regard surely Ada tries harder than D. I 
like Python for certain kinds of programs, but if I go on a ship that uses an 
autopilot I'd like it to be written in a language safer than C. D advertises 
itself as a language that cares a lot about code correctness, but I am sure 
more is doable in this regard.

Even if today Ada is sometimes the best language to write an autopilot, 
tomorrow the situation may change. Microsoft keeps developing its Sing# 
language, and two Microsoft researchers have released "Verve", a little 
experimental operating system kernel that has a nucleus written in typed 
assembly statically verified, and Spec# or Sing# code... So maybe in future 
high integrity software systems will be written like this instead of Ada (typed 
assembly is nicer than the normal inline D asm even when it's not formally 
verified, just verified by the type system, more or less like C code).

Bye,
bearophile

Reply via email to