Gus Wirth wrote:
> <quote>
> Because of the different flight path, a data conversion from a 64-bit
> floating point to 16-bit signed integer value caused a hardware
> exception (more specifically, an arithmetic overflow, as the floating
> point number had a value too large to be represented by a 16-bit signed
> integer). Efficiency considerations had led to the disabling of the
> software handler (in Ada code) for this error trap, although other
> conversions of comparable variables in the code remained protected. This
> led to a cascade of problems, culminating in destruction of the entire
> flight.
> </quote>

One of the principles behind a good safety system is that it can't be
cumbersome to use. If it is, people bypass the safety system. ;-)

>> Superfically, because Ada isn't succinct.  Lines of code productivity
>> is constant.  Verbose languages are less productive.
> 
> Where is the proof for that? You're saying that because I have to type
> more I'm less productive? If my typing speed was my limiting factor,
> then maybe. But I would hope that programmers spend much more time
> thinking than typing.

As someone who has written a 68000 assembler in Ada, I would agree that
it is verbose and time consuming to get things done that would be much
easier in another language. You can find strongly typed,
design-by-contract (and Ada is really not DbC as far as I'm concerned)
languages that are easier to work with.

Now, I've heard the Ada95 is better, and maybe it is, but old style Ada
was definitely a PITA.

> The fact that so many bugs crop up in succinct languages counters your
> argument. Writing bugs is not being productive. Java is more verbose
> than C yet it can be argued you're more productive using Java because it
> eliminates entire classes of bugs, for example pointer problems.

I'm not sure I'd buy that C is much less verbose than Java (in fact I
could argue either way on that). Python, Haskell, and Perl would be less
verbose. One of those tends to generate a lot of error prone code, but
the other two do not.

There is a very valid principle of having redundancy in a language,
which forces a programmer to specify their intent multiple times,
thereby catching errors (ECC for source code ;-). I would agree that
that does help. However, this kind of redundancy is not quite the same
thing as the pain and suffering involved with Ada.

--Chris

-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to