Re: compile+link Fujitsu Linux
- From: Robert <no@xxxxxx>
- Date: Sat, 02 Feb 2008 20:31:19 -0600
On Sat, 2 Feb 2008 12:36:36 +1300, "Pete Dashwood" <dashwood@xxxxxxxxxxxxxxxxxxxxxxxxx>
wrote:
I have followed this thread with interest, and learned a few things.
Maybe the problem here is that you both are experts with in-depth knowledge
and experience, but it may be in different areas.
We have different approaches to problem solving. An analogy is scientists, who are divided
into theoriticians and experimenters. A theoritician predicts outcomes based on abstract
principles; an experimenter observes outcomes in reality.
When I want to know what a program is doing, I instinctively read source code. Some of my
colleagues' first approach is to run test cases. I wonder how they WRITE programs. Do they
use a million monkeys generating random code, then find the one that works by eliminating
the ones that don't?
I find it troubling when a programmer regards the program as a black box. Testers are
supposed to think that way, not programmers.
Certainly what Richard has outlined matches my understanding (and use of)
dynamic linkage with Fujitsu, but I claim no expertise whatsoever with Unix
or derivatives thereof.
If it's any consolation Robert, I haven't issued a COBOL CANCEL for decades,
on ANY platform, and I haven't seen any for a long time, either.
Neither have I. I've only used CANCEL when the machine was short on memory.
I have long advocated late binding. In VSE days, I wrote my own memory manager to get it
under CICS because IBM's functionality was inadequate. But, when I wanted to replace a
program in memory with a fresh copy, I did it with a system tool, not with a Cobol CANCEL.
Nevertheless, different folks use different strokes and there may well be
places where CANCEL is still used.
Application code shouldn't be managing memory or versioning; that's the domain of systems
software.
I have to admit that my first impulse was also to suggest using INITIAL but
I stifled it and did some thinking instead :-). I came to the same
conclusion that Richard did: INITIAL does not meet exactly the same
requirement as CANCEL
It seems wrong to use the loader for initialization. I don't use VALUE and often
allocate/initialize working-storage structures at execution time. In OO terms,
working-storage is like making every object static.
Robert, on this occasion I don't believe Richard was using ad hominem
attacks; in fact, considering his frustration over what certainly looked
like "bad" advice, I think he was quite restrained :-)
Given that Richard actually took the trouble to do compiles and tests and
published the results here, it might have been wise to pay some attention to
the results...:-)
I pay attention, but test results do not ALWAYS prove a general rule. In this case, they
reflect a configuration error.
Having said that, I know that Robert was actually trying to help. Sometimes,
when we are really close to things the old adage about not seeing the wood
for the trees can be applied. I couldn't help wondering how much Robert's
recent immersion and experience with ELF headers and Unix in general, was
affecting his perception and judgement of what was properly a COBOL problem.
INITIALIZE is the Cobol way to initialize structures, not CANCEL. Unfortunately, it
doesn't load VALUEs and the '02 option to do so has not been implemented on most
compilers.
.
- Follow-Ups:
- Re: compile+link Fujitsu Linux
- From: Richard
- Re: compile+link Fujitsu Linux
- References:
- Re: compile+link Fujitsu Linux
- From: Robert
- Re: compile+link Fujitsu Linux
- From: Richard
- Re: compile+link Fujitsu Linux
- From: Robert
- Re: compile+link Fujitsu Linux
- From: Richard
- Re: compile+link Fujitsu Linux
- From: Pete Dashwood
- Re: compile+link Fujitsu Linux
- Prev by Date: Re: compile+link Fujitsu Linux
- Next by Date: Re: help with tables
- Previous by thread: Re: compile+link Fujitsu Linux
- Next by thread: Re: compile+link Fujitsu Linux
- Index(es):
Relevant Pages
|