ILE
From MidrangeWiki
ILE stands for Integrated Language Environment.
ILE was introduced with V3R1 of OS/400 and gave iSeries programming languages many of the capabilities that are found in modern programming languages.
Among these capabilities are...
- Static and dynamic binding to Procedures that can be coded in any ILE programming language.
- Multiple Modules can be included in a Service Program. These Service Programs are loaded at run time allowing for (something)
- Addition of the Activation Group concept for resource managment.
Contents
ILE Languages
- ILE C
- ILE CL
- ILE COBOL
- ILE RPG
Program Call Evolution
Trying to put this into perspective for people who may be more experienced with what came before and still struggling to Grok implications of new features.
Traditional (pre ILE) Program Calls
Each program can contain CALL statements that call other programs, that can be in the same or a different language. Each of the called programs can in turn call others.
These calls are resolved at execution time.
Each program object is directly compiled from a source member.
ILE Static Call - Bind by Copy
- Each module (*MOD object) is created from one source member.
- Each program (*PGM object) is created by copying or "binding" one or more modules and specifying the name of the *MOD to initially receive control.
- Linkages are established at compile time.
- Each module can be written in any ILE program.
- Thus a combined program can have several different languages in the same program, each being in a different module.
- Static Program Call has less overhead.
- Dynamic Program Call (the prior traditional approach) remains supported.
- ILE needs more memory.
- This executes faster than the prior methods.
- Each *MOD within each *PGM has a unique virtual address.
- Where in the prior traditional approach, when you called some program or subroutine or whatever, always have smae entry point, but can have multiple exit points, and can leave program active to help performance if expect it to be called again soon, in this reality we can have multiple entry points.