On 16/02/12 04:39 PM, dmosley@xxxxxxxxxx wrote:
I heard it was going to end on December 21, 2012.
LOL!
Holy Cow! I haven't visited this newsgroup in over a year, and what do I
see when I come back? Yet another lengthy discussion on the death of
RPG! The fact that the subject has come up yet again should be a clue to
the answer.
First, though, someone mentioned an recent increase in i sales. Don't
forget that much of that increase can be attributed to pent up demand
after the recession.
As many of you know, I spent years on the RPG development team, and I'm
proud of the contributions I was able to make.
However, looking at the bigger picture, it's hard to see a future for
RPG. RPG is, of course, intimately tied to the IBM i. That is both a
blessing and a curse. While it can take full advantage of the
capabilities of the i, it also means that it can never be properly
ported to other environments. Outside the IBM i world, CPU's are
commodity items. Many of the languages in common use are not tied to any
CPU. I can write a program in Python, Perl, or PHP and not worry about
the operating system or CPU instruction set. And that's probably the
biggest strike against RPG.
Do the analysis: There's really only one reason to buy IBM i - If the
application you need runs on IBM i. And the only reason RPG remains in
use is that there are applications written in it. If you were to start
an application from scratch and could choose any language and were not
tied to any particular system, would RPG be in the running?
Do an objective feature by feature comparison of RPG versus any of the
common languages in use today. (I know it's hard to find an unbiased
person in this forum!)
Does RPG have a rich set of built-in functions? or a rich class library?
Does RPG support OO programming? How does RPG handle namespaces? What
application frameworks are implemented in RPG? What data types are
supported? Does RPG have associative arrays?
These days, I work as a PHP programmer. Sure, it's a gawdawful ugly
language. But it works. Unlike RPG, it is object-oriented. Unlike RPG,
it has an incredible collection of built-in functions. (Too many, some
would argue!) Unlike RPG, it has a rich class library. And unlike RPG,
it has a good selection of application frameworks.
(I could make the same arguments about Python too. However, as much as I
like Python, I think I might be more even productive using PHP.)
On the latter point, consider a framework like CakePHP. A good framework
like that can take care of a lot of nitty-gritty details. Heck, these
days, by using a sufficiently robust framework, you shouldn't have to
worry about writing SQL code. Let the framework do it for you! In
CakePHP, you can easily handle complex joins easily without having to
write any SQL.
And of course, if I write an application in PHP, unlike RPG, there's a
good chance I can run that application on any system.
I suppose the bottom line is this, and forgive me for being blunt: You
have to be realistic. There's a wider world out there. And for much of
that wider world, RPG is utterly irrelevant.
Hans
As an Amazon Associate we earn from qualifying purchases.