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:

http_get( 'http://mysite.com/doc.csv': '/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 );
http_get( 'http://mysite.com/doc.csv': '/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?

This thread ...


Return to Archive home page | Return to MIDRANGE.COM home page