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




Joe said:
That's interesting, because I program almost daily in several different> languages, including RPG, EGL, Java and JavaScript. It is that> experience that leads me to like OO for GUI and procedural for business > logic. But I can certainly respect the notion that that's at least > partly due to my own internal biases and the fact that I have a long > history in dBase and C and assembly language and RPG (and Smalltalk > and C++ and Java...)
And... of course developing business client/server app on AS/400 (IBM i)platform. And thats you're bias.
On the AS/400, which is proprietary (and not "standard"), the availabalityof RPG which is relatively integrated with the system, and due to thelack of other languages which have a history with the platform likeRPG (C, Java etc are available but not so practical on the AS/400),the most effective solution is RPG as business logic, and Java for UI etc.But... you can't generalize this to other platforms/languages as welland saying that "procedural" languages are better for business logicthan "OO" languages.

Date: Sat, 9 Jul 2011 07:54:28 -0500
From: joepluta@xxxxxxxxxxxxxxxxx
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: RPG - I'm not dead yet!

This has certainly gone far afield. It's now more of an abstract
discussion that has run much of its course. Let me just expound on a
few places where you seems to be confused or surprised by my positions.
After that, the air is starting to get very thin :).


Nothing you have said above applies only to OO systems. Everything
above could be just as hard to change in a procedural system, or
harder.

It's easier to change in a procedural system. Data hiding makes
wholesale systemic changes harder. That's my bottom line and I'm
sticking to it! <grin> Seriously, that is what I've found over the
years in non-trivial systems, having written them in both RPG and Java.


(C) I think rabid OO fans would simply say that if the change you have
to make is so painful, then either your design wasn't good enough, or
you were very unlucky (and thus would have gotten caught out
regardless of what you used to implement it with).

But see, changes of that level are COMMON in real world business
applications. You buy another company, you re-define your cost basis,
you change your accounting methodology. Any of these can be massive
changes to the underlying system and unless you're either a genius (and
were able to see the future) or an idiot (and you wasted time coding for
every possible contingency) it's highly unlikely you coded for it.
Instead, you made assumptions in order to design your system and now the
underlying business model has changed. Sicne OO models the real world
and procedural code simply denotes business rules, the changes in
procedural code are easier.

I know this seems counter-intuitive, but in my experience the closer a
system models the real world, the harder it is to change when the real
world changes.


I'm surprised you would say this. Do you not consider prototype-based
OO "real OO"? Also, even among languages that call their OO mechanism
"classes", there is great disparity in the details; enough that not
all class-based languages encourage the same OO style as Java.

I guess I limit myself by my perspective: business applications. I
would never write a business application in JavaScript, which is a
pretty prototype-based language. I would, however, use it for a GUI in
an eyeblink. And OO is not all that fuzzy to me: inheritance and
polymorphism do most of it for me.



My point is that C cannot stand for (carry the banner for, or be the
champion of) all procedural languages, certainly not for RPG. And
vice versa. If RPG actually does fall to 0% share, that has *no
bearing whatsoever* on C or on any other procedural language. None.
Whatsoever. And no matter how much C rises or falls, it is
*completely independent* of the rise or fall of RPG. This is what I
mean by "C provides no coattails for RPG to hang onto".

This is getting a bit off track, but the fact is you can't just
substitute languages willy-nilly based on some broad categorization.
C++ does not have the same relationship to C as C# has to VB.


Well, by this argument no programming language can be the champion of
any other, every language must be taken on its own, and comparing
programming techniques is sort of silly because the devil is in the
details. Okay.

Then to return to my world, the IBM i, I basically have RPG and Java.
And in a pinch, PHP, although I don't consider it supported the same way
I consider RPG and Java to be supported. We also have a variety of
other languages, including COBOL, C and C++, but really we're talking
RPG vs. Java, and under that umbrella, RPG is easier to change than Java.



There are problem sets which OO is good for, and others where it is not
and for most of the latter RPG is the best fit.
Most of the latter? Really? Do you mean "most of the latter *that
needs to be tackled on an IBM midrange*"?

That is sort of the topic of all these lists, so yes my conversation is
focused there although it also extends to the more general category of
business application development, as opposed to embedded controllers,
gaming, nuclear physics or digital processing.


In my opinion, this apparent strength comes mainly from the fact that
most of us find procedural programming the easiest and most natural.
I certainly do. And more than just that, the language *does matter*,
even within a given paradigm. The language that we happen to think in
most easily is going to be the one that seems to respond best to
"major external stimuli". I believe there are meaningful objective
differences, but they have to be quite large before they can overcome
our own biases.

That's interesting, because I program almost daily in several different
languages, including RPG, EGL, Java and JavaScript. It is that
experience that leads me to like OO for GUI and procedural for business
logic. But I can certainly respect the notion that that's at least
partly due to my own internal biases and the fact that I have a long
history in dBase and C and assembly language and RPG (and Smalltalk and
C++ and Java...)

:)

Joe

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


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.