× 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.



Well, I disagree with you on pretty much all fronts and having had a front-row seat for all of the early development of RPG IV that is probably to be expected.

I'll comment mostly on your first point.

To start with IBM Rochester had relatively little to do with it. All the languages on AS/400 (with the exception of Java, Rexx and CL) were owned by the Toronto Lab as they are today.

PL/I on S/38 and subsequently on AS/400 was frankly a complete commercial failure. I wasn't there when the decision was made to implement it on S/38, but I have to believe it was to incent a few mainframe customers. It had a couple of huge clients and some ISVs used it to develop tooling (most notably Synon) but that was about it. There is no way that even an updated ILE version (the AS/400 implementation was out-of-date) would have in any way been able to cover even the minutest fraction of its development costs. Similarly, a Basic implementation would have to have been started from scratch - there is no way that the baler-twine and chewing gum concoction that was AS/400 Basic could have been upgraded to ILE.

Even ignoring the costs, neither language would have been acceptable as an RPG replacement. People wanted a better RPG - and in my opinion, they got it.

PL/I did not influence the design of RPG IV other than in one tiny aspect - the calculation of the size of intermediate results - and that choice subsequently necessitated the introduction of RESDCEPOS.

If you are interested in how and why RPG IV came about and why then you can read my potted history - which you can find here: https://authory.com/JonParisAndSusanGantner?collection=History-of-RPGIV <https://authory.com/JonParisAndSusanGantner?collection=History-of-RPGIV>

As to the cycle. It was a wonderful concept. "was" being the operative word. The RPG cycle was designed to mimic the operation of unit record equipment (tabs and calcs) and it facilitated the movement of those apps to computers. The problem was that as application needs grew more sophisticated, most programmers spent as much time fighting the cycle as using it. Having spent a lot of my career as a trouble-shooter of other people's problems I came upon many, many cases where the code should have been re-written and the cycle dropped. But of course, the forever popular notion of "don't fix it if it ain't broke" stopped that from happening and so hack after hack was applied. The result was an unmaintainable mess.

Over time schools pretty much stopped teaching the cycle and new programmers moving to RPG (from COBOL or BASIC or whatever) could write what they needed to do without having to learn it.

As a business language, RPG remains an excellent choice. I've taught it to C#, C++, Java, etc. etc. programmers and they embrace it for business applications. It was even better for them when **Free came along and their last frustration point (the columnar nature of D-specs) disappeared.

If you want to say it is no longer RPG then fine - I don't agree with you but it doesn't matter.

If RPG had not changed in the way it did we would be far worse off. A "new" language would not have been accepted as a replacement and we'd be in the dreadful position of trying to write web services and other sophisticated apps with RPG400 calling C programs or something. If you doubt me I refer you to recent posts where folks commented that in their current shops they are still writing new code in RPG III <shudder>.

Just my opinion.


Jon P.

On Aug 3, 2023, at 1:52 PM, James H. H. Lampert via RPG400-L <rpg400-l@xxxxxxxxxxxxxxxxxx> wrote:

Regarding SQL, the processing of blocks of 1000 records involves stuff way beyond anything one could reasonably expect to be able to do from SQL.

And regarding The Cycle being all-but-deprecated in /FREE, I've said all of this before, and undoubtedly will say it again, but

1. If IBM Rochester had put even remotely the effort into either an ILE PL/I or some sort of a ILE version of a "QBASIC," that they did into making RPG *look like* PL/I or QBASIC, then they'd have something much better than /FREE.

2. The Cycle is one of the most idiomatic elements of RPG, as well as the language's only truly unique feature: it can give you a free ride through a file with far more control than you get with SQL (particularly to catch problems before they screw up the entire file), and it also, simply by slaving INLR to INKC, gives you a free "event loop" for an interactive program.

3. If you eliminate traditional RPG formatting, it merely ceases to *look like* RPG. If you remove even the *option* of riding The Cycle, then it ceases to *be* RPG.

4. If you're not going to learn how to make at least basic use of The Cycle (and/or nontraditional use of it, e.g., as an event loop), why bother *learning* RPG?

--
JHHL
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.



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.