Yes, let's add Literature into the pot as well...
The thing is, once a COBOL program is compiled, it is no longer a COBOL
program. It is no longer at the whim of a misplaced full-stop (period),
oblivious to whether a SECTION has been coded or a THRU has been used, the GO
TO superficially indistinguishable from a "leg" of a condition, the magic which
operates when a 12-integer-3-decimal-place packed-decimal is MOVEd to a
zoned-decimal integer, a floating-point item and an identically-described
subscripted item.

Advertising

Poof! In about the same time it takes to compile a program, it has been
compiled, and is now sitting as a bunch of machine-code, with some data ranged
in ordered manner. Now it is machine-code, it is coincidental that it was once
COBOL, except that because it once was COBOL, and has been compiled, there is a
shed-load of defined information about it, and another shed-load or two of
information that can be intuited, and a further amount, which I can't relate to
in terms of sheds (is it one, three hundred, 0.002?) because it is machine-code
and because there's maybe something that can be done to it (turn it into an
intermediate form, let's call it an Intermediate Result, for the heck of it)
and then, the IR can be modified in a cyclic process which, at each change,
contains a "proof" that the state is unchanged.
Once no more can be done with the IR, compile that. Now it's machine-code
again. Some final touches, a bit of low-level (unverified?) optimisation
(including perhaps killing that vital "return" from that "stupid PERFORM", my
guess) and you have a new program which, to some extent, to be determined,
"does the same thing" as the original.
Things projected for the future of ABO:
1) It is not going away. Since nowhere near all programs are changed even over
a long period of years, ABO will be available to "soup up" (great, now I have
soup and stock, bring in the cookery to the topic as well) things and not
require the work to "recompile".
2) It is not going away. When V7 comes (so it is already in the works) ABO will
be available for V5/V6 program stock, as well as all the others it supports.
3) In some future it may also be able to "profile on the fly", providing
further performance improvements revealed by the actual interaction between
program and data consumed. A different run, with different data, may obtain
different improvements if the profiling dictates.
4) Other stuff.
So, yes, Martin Packer's point of the ABO "team" providing a lot more
information, so that things like "how do we test something which is ABO'd?" can
be discussed *in the terms of what the thing does* not because "remember Java"
or "xyz is unrealistic". Without knowledge, everything is speculation,
effectively, which could be located in any local bar, and have the same quality
of content and result.
So, literature, cookery, woodworking, horse racing, cricket (should have put
that first), let's get them all in here - without information, we may as well
:-)
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN