Hmmm.. ILE still allows for the same CALL system that OPM did. If
that's the type of call you want to do, then I guess ILE doesn't change
your life at all.
But ILE isn't about being able to call programs. ILE is about being
able to call subprocedures. The ability to write modular code that's
reusable from all over the place. The abiltity to invent your own things
that you might think of as "opcodes" or "bifs" or "apis" or whatever
that are specific to your line of business.
The point of ILE is certainly not performance. It's the ability to have
many callable routines in a single object.
For example, thousands of shops are using my HTTPAPI open source tool.
They want to write RPG programs that can, for example, download a
document from a web page. They can just do this:
': '/tmp/file.txt' );
They can hook into hundreds of other routines within HTTPAPI as well,
just by coding calls like that. For example, maybe they want to control
the debugging features of HTTPAPI, or set the CCSIDs used to translate
data during transfer
http_setCCSIDs( 1208: 0 );
': '/tmp/file.txt' );
How could you ever achieve an equivalent of that with OPM CALL opcodes?
I mean, I'm not saying it's not possible -- it surely is -- but it
would be extremely cumbersome, as you'd have to get all possible
parameters into a single parameter list.
The ability to have reusable routines and functions is hardly a new
computer concept. It's been the norm in computer programming since the
1970s, and when we finally got this capability, nearly 20 years ago now,
it was a HUGE improvement to the platform. I'd say it's the biggest
improvement this platform has ever had from a software perspective.
On 2/3/2013 7:17 PM, w 4038 wrote:
What good is ILE??
Before ILE, if you needed to call program B from program A, a simple CALL statement did the job.
All you had to worry about was the library list and it was up to you to pass parameters correctly.
Then IBM introduced ILE.
Now you can worry about, Activation Groups,Binding Directories, Binder Language, subprocedures, service programs, Static Binding, Dynamic Binding, Bind by Reference and some I can't recall right now.
Sure, it's nice that the compile checks to ensure that passed parameters match, but what other benefits are there? The benefit isn't speed. Newer hardware resolves that.
All the complexity just increases the potential for coding errors.
So I ask great minds of the Midrange List, what good is ILE?