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.


It’s worth noting that the exception behavior on NT is virtually identical on
Unix.


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.


Brian Markey
President and chief executive officer
VisuaLink Technologies
Shrewsbury, Mass.


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
Institute’s 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 I’ve 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 wouldn’t even put all of the responsibility for that error on the administrator
who entered zero where it shouldn’t 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 Navy’s 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.


Michael Buie
Application developer and retired Navy officer
Nine Rivers Technology
Raleigh, N.C.

inside gcn

  • Pushing cybersecurity for counties

Reader Comments

Please post your comments here. Comments are moderated, so they may not appear immediately after submitting. We will not post comments that we consider abusive or off-topic.

Please type the letters/numbers you see above

More from 1105 Public Sector Media Group