[Cross-posted to RPG400-L and OPENSOURCE]
On Wed, Jul 5, 2017 at 1:07 PM, Justin Taylor <JUSTIN@xxxxxxxxxxxxx> wrote:
RPG doesn't have a critical mass when it comes to standard libraries. I imagine most devs who would be inclined to participate wander off and find other languages that have a critical mass, as opposed to trying to build from (almost) scratch using RPG.
There is certainly a chicken-and-egg problem. And maybe *most* devs do
migrate to other languages. But there are some that have already
started to build an RPG ecosystem, and continue to do so. Evidence for
this is already present in this thread.
I think it's not just foolhardiness either. It makes sense to build an
RPG ecosystem, because RPG is honestly the dominant language on IBM i.
This is for technical as well as historical or social reasons. What's
good for RPG is good for the i.
I think the push to add other languages to the i via PASE is a
worthwhile one also. It's definitely nice to bring new functionality
and new blood to the platform. And to do it relatively quickly and
cheaply. But I don't think those languages can ever "take over" the
midrange, no matter how much nicer they might be than RPG. Because if
you are *solely* developing in those other languages, then you frankly
might as well be doing it on another platform, where those languages
are first-class citizens.
In my mind, the only thing that could *supplant* RPG is another
"native" language that runs within QSYS.LIB. It would have to be far
superior to RPG to overcome inertial effects that have been mentioned
several times in this thread. No such language already exists[1], and
it seems extremely unlikely that anybody (in or outside of IBM) is
both willing and able to design and implement such a language.
John Y.
[1]C is not high-enough level to provide much improvement. C++ gives
the *potential* for much higher-level programming than RPG, but seems
much harder to learn for most programmers. Does ILE C++ have the level
of DB2 integration that RPG has? I'd say Cobol is more-or-less a
lateral move. What else is there? If there *were* something *far*
superior already runnable in QSYS.LIB, it probably would have taken
over already.
As an Amazon Associate we earn from qualifying purchases.