Nathan,
You are completely right.
The "collections support" shouldn't be implemented as BIF's but as a serviceprogram.
But to we already have BIF's for dates for example, because this seems to be the preferred way for most RPG'ers, i wonder why...
Anyway, the point is that a "language" is used to "express" a solution.
In the case of RPG, we use it to express business logic for example.
Apparently we can express business code very well with RPG.
How is that??
What is the main problem with business applications?
That the functionality is complex (not difficult in general but witrh very specific details, exceptions etc), the requirements are vague and change often.
So, we need a language with which we can handle this complexity, vague and changing requirements.
To help with this we need to encapsulate complexity.
We need an easy way to express business logic, easily re-use it, easuly define interfaces etc.
What does RPG give to help with this??
Procedures?
Just declaring a procedure - without any parameters - takes six lines of code....
Who uses them.... nobody.
If i implement a map into a serviceprogram a now one thing for sure.
No collegue of mine would use it.
Implement it with BIF's... maybe....
Why is this??
Because most RPG programmers don't know anything about basic software enginieering.
Why is this?
My take on this is that RPG is an old language and for ten years ago we didn't even had "free format".
But we had ILE and serviceprograms, just not being used...
Most RPG'ers learnt programming with RPG.
I cat that has grown up only seeing vertical bars will simply bounce into horizantal bars because it doesn't "see" them.
Same with RPG.
Most RPG's really don't know important concepts like information hiding.
I would say it's extremely important for a "business lamnguage" to have good support for information hiding.
More importart than being able to read a record with one (or two) statements.
Why?
Because e.g. in Java you need intitially more statements, but you can "encapsulate" it (information hiding) and re-use it.
If you do this right you can also read one record with one statement.
Information hiding is what counts.
Not the "built-in" goodies.
And RPG is not good at information hiding.
It is a complex language but it still is very primitive.
No good for business i would say.
Well... i take that back... it is good for business, just not for the client's business.
It's good for *our* business, thats for sure.
Anyhow, this is it.
I'm going out of the RPG business.
I'm not going to rant further on RPG because i'm at the wrong place.
And... i want my goto back.
Yes, i know, goto is considered harmfull, blabla.
But RPG *is* already very harmfull, and simply pulling goto out of the language and not put something back does make me create complex nested if's etc.
Crazy.
*sigh*
Ps,
It's a shame.
OS400 really is the best business OS ever.
Kudo's to IBM for that.
But it's the applications, stupid, which are still green, fixed format (mostly), monolithic, etc etc
And users are NOT stupid. They see a green screen and see it as *old".
Well yes, OS400 is not old, but the generic perception of these users is right, namely there is something not right.
And that is the app development dept., which *is* old, i would say, 50's, maybe 60's.
Because programming RPG is - without "modern" constructs like maps and listst, still like programming a tabulator.
With two input decks, which are merged into a third - temporary - deck, which is then sorted into a fourth, etc etc.
Problems which be simpy solved with the program using a map, is now solved using three programs and four temporary files just to have some basic sorting.... pfff. So what's the "business" advantage RPG has here? That it has native decimals (COBOL has them too so this should als be the "best" business language), and record level DB access..?? (I don't expect an answer)
Sorry for this rant but i invested about 20 (TWENTY) years into "AS/400" programming.
And i never encountered a company being happy with it.
The only reason they stay on the platform is that it's too expensive to switch.
But they all want to get away from it.
And why.... because of the apps.
Ten years ago it was the same, even 15 years ago... and nothing has changed.
We RPG'ers still keep saying that "green screens" have their advantages, RPG is "the best" business language, and, of course, users are simply stupid to not recognize the beauty of "green" and the Report Program Generator.
Folks, simply admit it, RPG as a language sucks
Date: Tue, 8 Dec 2009 08:11:43 -0800
From: nandelin@xxxxxxxxx
Subject: Re: Would it be a reasonable to ask IBM's programmers to, write a %sortsfl(sfl: column)
To: midrange-l@xxxxxxxxxxxx
From: john e
I didn't meant i want an OO version of RPG.
Just that it needs to have some basic structures/operations
to be called a great "business language".
RPG is a "great business language", but the operative word there is "language", which makes it hard to compare with Java. Java is a language, a framework, a virtual machine, and nearly a stand-alone platform in and of itself. The scope of RPG is more narrowly defined.
When programmers complain that RPG doesn't have Map or Hash objects, I often suggest that they write ones themselves and add them to their own frameworks. If they like, offer a license to others. Isn't that what "languages" are for?
Nathan.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
_________________________________________________________________
Alles over Windows
http://www.windows.nl/About.aspx
As an Amazon Associate we earn from qualifying purchases.