MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » February 2013

What good is ILE?



fixed

Hi Scott I can't say thank you enough to you for all the answers and articles you've written over the years. And I'll quickly concede that I use HTTPAPI a lot. I further concede that you make an excellent point about ILE enabling RPG to have functions, "bifs" or "apis". I code such things all the time and yet I didn't really connect it with ILE. Now that you've pointed it out to me, I agree, that is a benefit of ILE. Thus far, I concede 2 benefits:Compiles ensure parameter lists matchFunctions/bifs/apis Are there any more? Well, I see that there are other answers from other posters for me to read. I'm going to send this reply so I can read them and learn their opinions. Thank you
Date: Sun, 3 Feb 2013 23:21:41 -0600
From: midrange-l@xxxxxxxxxxxxxxxx
To: midrange-l@xxxxxxxxxxxx
Subject: Re: What good is ILE?

Hello,

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_debug(*on);
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 is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.






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

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot COM and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact