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 *
|