HP3000-L Archives

November 2004, Week 5

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Mike Reaser <[log in to unmask]>
Reply To:
Mike Reaser <[log in to unmask]>
Date:
Tue, 30 Nov 2004 22:02:47 -0600
Content-Type:
text/plain
Parts/Attachments:
text/plain (79 lines)
 Erik Vistica <[log in to unmask]> wrote:
>Stan Sieler wrote:
>> BTW, check your Pascal source code ... if there is a "$range off$
>> at the start of the module/program, move the programmer who put it there
>> into a job where they can't hurt anyone else.  (I've seen too many
>> incredibly poorly written Pascal programs where dozens of problems would
>> have been found years ago if $range off$ hadn't been specified :)
>
>First, let me second Stan's "remove $range off$" recommendation. :-)

Heh, heh, heh.  For the last 3 years I've been the technical lead on
my company's project to migrate our applications to HP-UX under Micro
Focus COBOL and Oracle using OpenTURBO from iMaxsoft as our middleware.
One of the first "command decisions" I made was to enable every possible
bit of range checking and data verification on the 9000, to highlight
any such problems that had been hidden or otherwise "hand-waved" away
on our 3000's.

As it turned out, some problems had been masked for literally *years*,
and the programmers' explanations were that "taking off $CONTROL BOUNDS
made the error message disappear, so that was the 'fix' for the problem".

Every attempt has now been made to educate said programmers.  :-p

>In the distant past (in my former life as an RCE on the language team),

You, too?  :-)

>we would periodically get calls with symptoms similar to yours.

No!

>"The program was working, I upgraded the OS, the program now aborts."

My other favorite was "The program worked until I recompiled it, and
now it aborts".  My first question in response was always "So what did
you change in the program that made you recompile it?", and 99.44% of
the time that stopped 'em dead in their tracks.  :-)

For the other .56%, re-phrasing the question as "OK, if nothing changed
in the source code, then why did you feel the need to recompile it?"
usually worked.  Along with a recommendation of restoring the previous
program file from a backup, because if *nothing* changed then grabbing
the prior copy should give us the same program file, right?

>Before my life as an RCE (as a customer) I had made some of these calls
>myself.

Before my life as an RCE (as a customer), there was no Response Center,
only local-office-manned PICS.  :-(

When did you start at the RC, Erik?  I started in 1984, and was somewhere
around the 16th or 17th permanent MPE RCE hired for the Atlanta center.  I
was in "Wave 4", as we were called, of permanent hires that were run thru
the RC Gauntlet Of MPE Training -- System Manger class, VPlus class, IMAGE
class (no TurboIMAGE for another two years!), "Data Management[1]" class
(that was basically KSAM, KSAM, and more KSAM), "Rapid" class (the triptych
of Transact/Report/Inform), etc.

>The root cause in nearly every case was some flavor of uninitialized
>memory in the user's (my) program.

Where "some flavor" could mean as little as an uninitialized array
subscript all the way to uninitialized *everything*.  :-(

IOW:  In COBOL,  the VALUE clause *is* your friend and the INITIALIZE
statement is your *pal*, folks...

[1]  Or, as we called it at the time, "Data Manglement" class...


--
From the Atlanta Journal-Constitution, "The Vent", 2004/05/24
To the bonehead with the "What Would Jesus Do?" bumper sticker:
Jesus wouldn't throw his litter out the window.

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2