James,
I've never really thought of RPG being a function style language, but
I could see that being pretty useful.
Perception will always be a problem. If people keep seeing RPG as a
monolithic style language, then talking about enhancements to RPG is
pointless.
You have to see RPG in terms of a modular, function-oriented language.
If you don't, you're seeing the RPG of 1993, and there's little hope for
it's survival.
Personally I would like overloaded procedures, but honestly sometimes
they bring more headaches than anything. Not to offend anyone, but I
could see a lot of RPG programmers overload everything with WAY too
many parameters.
Programmers doing the wrong thing is another big challenge in our
community. Like you, I don't want to offend anyone... so let's just
leave it at this: The existing programmers are a HUGE part of the
problem with RPG.
The only thing I really miss in RPG that OO has is inheritance. It
would be nice to be able to extend a service program without having to
re-compile everything to use it.
Perhaps you're doing it wrong?
Service programs can easily be updated without having to recompile (or
rebind) anything that calls them. This has been the case since ILE was
introduced.
I have been coding in ILE since 1995, and have never (well.. almost
never) needed to recompile something that calls a service program unless
I wanted to add additional functionality...
I also agree that Open Access is going to give us very little. I think
it will help a bit, if I understand it correctly, with stuff like XML
parsers or something like that. I don't think it will be good for UI
at all. OO really is the best option for UI development, RPG is not,
IMHO.
I don't see how Open Access will help with XML parsers. XML doesn't fit
the paradigm of a physical file, and therefore doesn't fit Open Access.
I also don't think OO helps at all with UI development. Visual Basic (I
don't mean the .NET version, I mean the VB3, VB4, VB5, VB6) wasn't an
OO-language, but yet worked brilliantly with UI development. Likewise,
UI development in C using tools like Glade and GTK works brilliantly.
Even programming to the WIN32 API in C isn't too bad.
It needs to be event-driven, though. OO languages can certainly
provide an "event listener object" with all of the routines needed to be
called in the case of events. And that works.
But a data structure with all of the routines in an event works just as
well. It doesn't need to be OO. It doesn't need to support
polymorphism, inheritance, instantiation, et al, in order to work well
with a UI.
The main issue I have with PHP is really it's a scripting language.
Not that scripting languages are bad, but I just like my end programs
compiled. (Quick Google search does show you can compile PHP, I was
unaware of that). So, this complaint is probably not valid and I
should read a little more before I complain :-).
So if you write the same code, and it runs the same way, with the same
performance, it's still better than it's compiled vs interpreted?
To me, compiling is just a way to improve performance by reducing the
CPU cycles required at run-time. If it performs as well (or better) as
an interpreted language that it would as a compiled one, then there's no
value to compiling.
While tools like HipHop do improve the performance of PHP -- the
interpreted performance isn't bad either! (Much better than compiled
Java in my tests!) So why mess with it? I won't optimize my code until
I find a performance problem with it. And I'm not having performance
problems in PHP.
The issue I have with PHP has nothing to do with the language, but who
writes it. I've seen and heard of huge PHP scripts that are thousands
of lines long. I've also seen RPG programs that are thousands of lines
long. My fear is that RPG programmers will write PHP code like they
write RPG code.
One of PHP's strengths is also it's weakness. It's easy to learn. So a
lot of "weekend warriors" who aren't professional programmers will pick
up PHP and write stuff in it. The quality won't be as good as what a
professional programmer would write, of course!
RPG unfortunately suffers from the same syndrome. Even worse, a lot of
the RPG code dates from the days before people knew about (or were
taught about) proper program structure. So I share your concern in this
area. However, the same programmers writing PHP are going to create
anything worse than what we have now. Indeed, it'll probably be better
than what we have now. (Even if it's not as nice as you'd like it to be.)
As an Amazon Associate we earn from qualifying purchases.