Java with other programming languages

With Java™, you have multiple ways to call code that was written in languages other than Java.

The IBM® i Java environment is separate from the integrated language environment (ILE). Java is not an ILE language, and it cannot bind to ILE object modules to create programs or service programs. The following table shows some of the differences between ILE-based programs and Java programs:
ILE Java
Members that are part of the library or file structure on an IBM i server store source codes. Stream files in the integrated file system contain source code.
Source entry utility (SEU) edits extended binary-coded decimal interchange code (EBCDIC) source files. American Standard Code for Information Interchange (ASCII) source files are usually edited using a workstation editor.
Source files compile into object code modules, which are stored in libraries on an IBM i server. Source code compiles into class files, which the integrated file system stores.
Object modules are statically bound together in programs or service programs. Classes are dynamically loaded, as needed, at runtime.
You can directly call to functions that are written in other ILE programming languages. Java Native Interface must be used to call other languages from Java.
ILE languages are always compiled and run as machine instructions. Java programs can be interpreted or compiled.
Note: If portability is a concern, avoid using a solution that is not "pure" Java.