Pype.Clicker wrote:
Is there a special ADA feature that makes it a good language for OS development ?
Yes and no. No one feature of the language makes it excell t OS development, but the language as a whole is meant to support low-level coding in a high-levl environment. This is both a good and a bad thing.
Ada was designed to be an efficient, flexible and reliable langauge for programming embedded systems in. Programmers familiar with the language always find this claim to be immensely funny.
The good news is, Ada is powerful, and highly modular, and has features like exception handling, rendevous based multitasking, and methods for direct hardware interfacing.
The bad news is, Ada is
huge, and awkward to code in. It is among the largest languages ever designed - indeed, it is one of the most complex designs of any kind in human history - and it is very difficult to compile efficiently. Ada executables are often considerably larger and slower than the equivalent in other languages.
It is also verbose - it was designed with the idea that it was more important to be complete than concise, and thus has some of the longest built-in names in any language, comparable to those in Common LISP.
It is, in other words, a language designed by committee, based on the prevailing theories of software engineering rather than on the actual experience of desiging and implementing programs. It is in some ways an amazing piece of work, but it is also a huge set of compromises and it shows.
Some programmers love Ada; others - the majority - think it is a typical Defense Dept. SNAFU. The best that can be said about it (as C.A.R. Hoare put it) is that there is a good small language hidden in it crying to get out. It certainly has it's own sort of elegance (like, say, a nuclear-powered aircraft supercarrier does), but it is not a language suited for the casual hacking most programers favor. YMMV.