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.

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 with the message: INFO IBM-MAIN

Reply via email to