Difference between revisions of "ILE"

From MidrangeWiki
Jump to: navigation, search
m
m (add cat section; format with Template:AN and Template:bu)
Line 1: Line 1:
[[Category:Programming]]
+
{{AN}} is an acronym which stands for {{bu|I|ntegrated}} {{bu|L|anguage}} {{bu|E|nvironment}}.
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.
 
ILE was introduced with [[V3R1]] of [[OS/400]] and gave iSeries programming languages many of the capabilities that are found in modern programming languages.
Line 48: Line 47:
  
 
=== ILE Static Call - Bind by Reference ===
 
=== ILE Static Call - Bind by Reference ===
 +
 +
==Categories==
 +
[[Category:Programming]]

Revision as of 19:08, 23 February 2007

ILE is an acronym which 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...

ILE Languages

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.

With only one exception known to Al Mac, each program must be 100% written in one language, although it typically accesses objects sourced from other languages, such as DDS for layout of stuff, and CLP heavy use of IBM Commands.

The exception is SQL embedded in RPG.

ILE Static Call - Bind by Copy

  • Each module (*MODULE 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 *MODULE 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 *MODULE 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.

ILE Static Call - Bind by Reference

Categories