Norman H. Cohen <ncohen@watson.ibm.com> wrote:
|> When an Ada compiler rejects my source,
|> it is because compile-time consistency checks have caught me trying to
|> do something that does not make sense. I am grateful to have had the
|> mistake caught before I wasted hours debugging. I am far more
|> frustrated by C compilers that happily compile code containing the
|> kind of errors that an Ada compiler would have caught.

I would bet that a lot of the code that you wrote and was rejected by
an Ada compiler was not that illogical or unsafe. I bet that most of
it was actually pretty reasonable.

Ada's philosophy seems to be, "When in doubt, forbid it." As a
result, a programmer can spend a lot of time turning sensible safe
code into code that religiously observes all of Ada rules.

C's philosopy seems to be, "When in doubt, permit it. It just might
be correct." The freedom that this gives programmers to create new
ways of solving problems may be one of the reasons that C remains so
popular, despite the fact that it it unquestionably unsafe.