× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Steve:

Let's examine each of these supposed "limiting features" in i5/OS:

"no managed code" -- i5/OS, OS/400 and even CPF have always had the equivalent of "managed code" -- it's called "MI" or "TIMI". You cannot create "native" IMPI or PowerPC instruction streams and execute them under OS/400 or i5/OS using documented interfaces. In CPF, OS/400 or i5/OS, you must go through a "trusted translator" to convert OPM MI or ILE NMI into the "native" instruction stream. This is very similar to what happens when Microsoft .NET compilers generate MSIL/CIL, and the .NET runtime JIT converts the CIL into equivalent native instructions (on the fly) at runtime. If you use a compiler that generates native instructions directly, that is "unmanaged code" (in Microsoft's terminology.) NOTE: you can generate and use native PowerPC RISC code within PASE, which follows AIX "rules" (or in an AIX or Linux LPAR).

"10 character object names" -- You can use very long procedure names in modules and service programs. Once you add a *MODULE or *SRVPGM to a binding directory, you never need to directly refer to the 10-character name of those modules or service programs. When ILE programs are bound to *SRVPGMs, the service programs are loaded and activated automatically, as needed. The 10-character names do "show up" for *PGM names, when you CALL the "main" program (e.g. from CL or a menu) to start an application, or when one program CALLs another external *PGM. Also, with DB2/400, you can use much longer names for tables and views (and DB2/400 generates the i5/OS 10-character names for the underlying *FILE objects automatically). You can also use field names much longer than 10 characters in DB2/400 tables and views. (See: http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/db2/rbafzmstlimtabs.htm )

"segment space limits" -- as originally architected, MI space objects are limited to 16 megabytes maximum size. OS/400 or i5/OS regularly uses multiple MI objects to create many of the OS/400 or i5/OS objects we are familiar with. You can use more than one *USRSPC object to create your own very large "persistent heap" to contain complex data structures whose total size is much larger than 16 megabytes. You can store pointers in one *USRSPC that point into other user spaces, and vice versa. Also, if you must have access to a very large contiguous memory space, OS/400 has supported teraspace since V4R4, which supports up to several terabytes of contiguous temporary address space.

"outdated ILE" -- ILE now provides something that resembles what you call "reflection" with the QBNRPII API in V6R1, also available as PTFs for V5R3 and V5R4. i5/OS's ILE is a runtime environment. ILE supports structured exception handling.. You say ILE does not support object-oriented programming, but that is really up to each language compiler and its runtime routines. IBM supports C++ as an ILE language, and C++ is a fully object-oriented language. And i5/OS V6R1 ILE can now activate *SRVPGMs "on demand" rather than activating all referenced *SRVPGMs when the first ILE *PGM that references them is activated. ILE has a very advanced binder (or linker) -- you can bind multiple *MODULEs to create a *PGM or *SRVPGM (with CRTPGM and CRTSRVPGM), and you can replace one or more *MODULEs in existing *PGMs or *SRVPGMs (with UPDPGM and UPDSRVPGM). You can even control the ILE signatures that are generated by using optional binder language source statements. (Because ILE has been around for 14 years, is that why you think it is not "modern"?)

So, "Where's the beef?"

Sincerely,

Mark S. Waterbury

> Steve Richter wrote:
That just proves the car analogy does not hold. Separating i5/OS from system
i hardware is good for us. Customers will hear the "i5/OS runs on system p"
message that i5/OS now runs on multiple hardware platforms, which is what
they expect and gives them confidence they are not being locked into
overpriced hardware. Of course, as long as the deficiencies in core i5/OS
( no managed code, 10 char object names, segment space limits, outdated ILE
) are not addressed, not much of distinction can be achieved by application
developers.

-Steve

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.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 on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.