Good 'ole PL/I.

I had heard that pointers/heap managements was sort of a kluge, that they
managed that internally in QTEMP or something (This would support the Space
Pointer and manipulation stuff).  An IBM-er told me that it would have been
really fast/great if they had opened it to native pointer manipulation. 

There were a lot of good feedback components accessible through PL/I that
weren't fully available to RPGers. 

Others I have spoken with would have liked the structure of PL/I wrapped
with some of the low-level components of MI.  IBM must have liked that too,
since S/38 was said to be written using that hybrid, called PL/MI.  That
wasn't an original thought. IBM Mainframe OSes had PL/S (PL/1 for Systems ..
You could trot along in PL/1 for a good long way, and then you could
basically say "Burp into Assembler" to perform some bit-twiddling magic. )

IBM was too concerned that we might hurt ourselves with sharp tools.

-------

But thanks to several really bright people inside and outside IBM (some
Bruces, some Daves, and a guy named Leif), tools and knowledge have leaked
out around the edges to make some things practical that the machine is
capable of. 
-----------------------
Oops. Sorry for the trip down memory lane.. I can just feel another grey
hair popping out!  

-----Original Message-----
From: mi400-bounces@xxxxxxxxxxxx [mailto:mi400-bounces@xxxxxxxxxxxx] On
Behalf Of mi400-request@xxxxxxxxxxxx
Sent: Wednesday, September 29, 2004 1:01 PM
To: mi400@xxxxxxxxxxxx
Subject: MI400 Digest, Vol 2, Issue 125

Send MI400 mailing list submissions to
        mi400@xxxxxxxxxxxx

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.midrange.com/mailman/listinfo/mi400
or, via email, send a message with subject or body 'help' to
        mi400-request@xxxxxxxxxxxx

You can reach the person managing the list at
        mi400-owner@xxxxxxxxxxxx

When replying, please edit your Subject line so it is more specific
than "Re: Contents of MI400 digest..."


Today's Topics:

   1. RE: MI compiler that supports target release (Ken Rokos)
   2. RE: MI compiler that supports target release (Hewitt, Rory)
   3. RE: RE: MI compiler that supports target release (Dan Bale)
   4. Re: RE: MI compiler that supports target release
      (James H H Lampert)
   5. Program references (Bobby Hicks)


----------------------------------------------------------------------

message: 1
date: Tue, 28 Sep 2004 10:03:24 -0700
from: "Ken Rokos" <Ken.Rokos@xxxxxxxx>
subject: RE: [MI400] MI compiler that supports target release


Don wrote:
> No, PL/I isn't gone....it's still out there...  I'm not exactly sure how
> you get it nowadays but it is a live compiler.

Looks like it's PRPQ 5799GKK.  For V4Rx, it was 5799GCG.  See
http://www-1.ibm.com/support/docview.wss?uid=tss1fq101662

For Linux, there's an alpha version of a PL/I front end for GCC at
http://sourceforge.net/projects/pl1gcc/



------------------------------

message: 2
date: Tue, 28 Sep 2004 14:46:43 -0400
from: "Hewitt, Rory" <rory.hewitt@xxxxxx>
subject: [MI400] RE: MI compiler that supports target release

RE: PL/I on the AS/400...
 
> No idea if it is still available nor if the V4 PRPQ works on V5.
 
As far as PL/I on AS/400 goes, I currently spend about half my time writing
or maintaining PL/I programs on a V5R3 box - the rest of it on RPGLE (my
company (Computer Associates) has a product *now* called AllFusion 2E (but
previously known as Synon/2E) that is almost entirely written in PL/I - we
have several million lines of it over about 2000 programs). It looks as if
the CRTPLIPGM CPP was recompiled (at least) for V5R2.
 
> It was never a particularly good subset. As I recall, list-directed
> (sort of like C stdin/stdout) and data-directed (sort of like a really
> good implementation of FORTRAN's NAMELIST) I/O wasn't there, and the
> terminal support was particularly lousy.

If you read the AS/400 PL/I manuals, they only really seem to cover the
useful-to-mainframe bits, but the general DB2/400 I/O support is excellent
and you can effectively do dat-directed I/O pretty easily. It's also the
best implementation of pointers I've used - far better than C or RPGLE
(although space pointers only) - again, only mentioned briefly in the
manuals. I've only used PL/I a little on a mainframe, so I don't know what's
missing in subset G.
 
> ILE PL/1 would be a much pleasanter environment than C (or even RPG IV or
COBOL).
 
I tried for a while to create PL/I programs, use SST to 'change' them into
modules and then bind them but it never worked (sigh!). However, a
combination of the PL/I run-unit and external variables (defined in the
run-unti but accessible from multiple programs) can mimic some of the
benefits of ILE (like simulating static binding).
 
Coincidentally, at V5R2, the CRTPLIPGM command dropped the TGTRLS parameter,
until someone made a fuss, which is why they patched it so that on a V5R3
box, you need to specify the target release in the TEXT paramater, as e.g.
CRTPLIPGM PGM(MYPGM) TEXT('**V4R5M0This is my program') to create a
V4R5M0-compatible programs with text name of 'This is my program'.
 
Anyway, long story short: PL/I still alive and kicking on AS/400. We have
about 3500 customers using 2E (including bits of IBM themselves!) and IBM
assures us that it's not going away.
 
Rory
 
Rory Hewitt
Software Architect
Computer Associates

------------------------------

message: 3
date: Tue, 28 Sep 2004 15:25:21 -0400
from: "Dan Bale" <dbale@xxxxxxxxxxxxx>
subject: RE: [MI400] RE: MI compiler that supports target release

Back in my V3R1 days, IBM had a knowledge-based AI app called
KnowledgeTool/400 that used PL/I to drive the "knowledge".  Don't even know
if that's supported anymore.

db




------------------------------

message: 4
date: Tue, 28 Sep 2004 13:17:11 -0700 (PDT)
from: "James H H Lampert" <jamesl@xxxxxxxxxxx>
subject: Re: [MI400] RE: MI compiler that supports target release

> Coincidentally, at V5R2, the CRTPLIPGM command dropped the TGTRLS
> parameter, until someone made a fuss, which is why they patched it so
> that on a V5R3 box, you need to specify the target release in the TEXT
> paramater, as e.g. CRTPLIPGM PGM(MYPGM) TEXT('**V4R5M0This is my
> program') to create a V4R5M0-compatible programs with text name of 'This
> is my program'.

I'm surprised that, in dropping the TGTRLS parameter, they didn't simply
have it compile to V1R3-compatibility (especially given how old the
compiler is). That's the only circumstance under which I'd accept the lack
of a TGTRLS parameter.

--
JHHL




------------------------------

message: 5
date: Wed, 29 Sep 2004 08:31:50 -0400
from: Bobby Hicks <Robert.Hicks@xxxxxxxxxxxxxxxx>
subject: [MI400] Program references

I am using the OIR to retrieve a list of program references.  I have come 
across the following problem.


I have data area references with a type of 0B30(which is invalid) in one 
program and 190A (which is valid) in another program.  How is this 
possible and what am I missing?


Bobby.




------------------------------

_______________________________________________
This is the MI Programming on the AS400 / iSeries (MI400) digest list
To post a message email: MI400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/mi400
or email: MI400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/mi400.



End of MI400 Digest, Vol 2, Issue 125
*************************************



As an Amazon Associate we earn from qualifying purchases.

This thread ...


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

This mailing list archive is Copyright 1997-2022 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.