LETTERS TO THE EDITOR
Call or write to the appropriate editor
In your story Software glitches leave Navy Smart Ship dead in the
water [GCN, July 13, Page 1], there are several
errors of a technical nature to which I feel compelled to respond.
Primarily, the statement blame it on the OS reaches an entirely specious
conclusion. For example, Anthony DiGiorgio states that a $2.95 calculator gives you a zero
when you try to divide a number by zero. In fact, we tried three pocket calculators. One
displayed -E-, and the other two displayed Err when we tried to
divide by zero.
Mr. DiGiorgio should know that the correct result of a divide by zero calculation is
undefined and emphatically not the number zero. More to the point, we tried the operation
1 divided by 0 on the Calculator application that comes with Microsoft Windows NT. The
program displayed, Cannot divide by zero, as the result.
If NT was the culprit, why did the calculator application respond correctly? The reason
is that the error had absolutely nothing to do with the operating system, rather, poor
programming practices on the part of the people who wrote the application software.
NT correctly responds with what is known as a software exception. The application, if
the error is recoverable, is supposed to handle the error. If the application does not or
cannot correctly handle the error, the operating system terminates the application in
order to avoid data or system corruption.
Its worth noting that the exception behavior on NT is virtually identical on
Microsoft-bashing is all the rage, and as a developer and user of software built on
Microsoft operating systems, I think there are many legitimate reasons for anti-Microsoft
sentiment. However, the article in GCN was little more than an expression of sour grapes.
President and chief executive officer
Regarding your story Software glitches leave Navy Smart Ship dead in the
water; the story cited Anthony DiGiorgio, who wrote in the June U.S. Naval
Institutes Proceedings, If you understand computers, you know that a computer
normally is immune to the character of the data it processes. Your $2.95 calculator, for
example, gives you a zero when you try to divide a number by zero, and does not stop
executing the next set of instructions. It seems that the computers on the Yorktown were
not designed to tolerate such a simple failure.
Well, I understand computers and cheap calculators. Every calculator Ive ever
used does not give you zero when you divide a number by zero. It gives you
ERROR, ERROR1 or ERR or some such indication
that you screwed up the data. Many computer languages give a default error such as
divide by zero.
It is up to the programmer to anticipate cases where users of computer programs may
input bad data and to prevent such errors in a manner that does not cripple the system.
I wouldnt even put all of the responsibility for that error on the administrator
who entered zero where it shouldnt have been input. Operators and administrators are
already busy enough watching out for data checks the programmer could have routinely
handled via the software application manipulating the data.
[Mr. DiGiorgio] should spend more time helping solve problems and less time getting
attention for himself by his critique of the Navys attempt to increase its
technological standing. It is neither the computers nor Microsoft Windows NT that bears
the blame for the type of error described.
Application developer and retired Navy officer
Nine Rivers Technology