Recently, I had my first full Java application experience on iSeries. I learned and used Java for the first time about 10 years ago, but for the last six or seven years, I've mostly written off Java as a serious development language for iSeries—compared to RPG IV and even C—and continue to do so today.
But Java is no longer the throwaway language it once was. It has matured a lot over the last few years, and much of it is stable, although you still shouldn't use it to run nuclear power plants.
We've lived through years of Sun and IBM telling us how much better the "next release" of Java was going to be. As soon as the next release became available, they immediately started telling us how much better the release after that was going to be.
Sound familiar? Consider WDSC; shortly after a new "point release" of WDSC is shipped, the next point released is announce. And people who are using the next point release tell us how much better that point release will be. They act like everyone has access to the new point release when in fact a majority of iSeries developers still don't even have a PC at work that's powerful enough to load and run it—even in 2007. I predict that by 2008, more people will have PCs that are "big enough" for WDSC as Windows Vista causes some upgrading throughout corporate America.
You see, if you want to keep people in a state of mind that holds hope for your vision of the future, you can never really deliver on a promise—you can only deliver more promises. As long as your audience remains locked into the hope you are delivering, you can keep most of them dedicated to or dependent on your cause.
The consequence of this methodology, however, is that things get done very slowly and at a very high price, or they never get done at all.
For nearly a decade, RPG IV was this way. Each new release brought with it more features that made people feel hopeful for the language. The problem was that the cool new features were always in the "next release"—the release a small minority had installed.
Today, most iSeries customers are running OS/400 V5R3 (if you're a fan of the new name, this line should read "most System i5 customers are running i5/OS V5R3"). In fact, my own surveys indicate that nearly 90% of the iSeries world is running at the V5R2 level or later, with V5R3 being the runaway leader for the currently installed OS version.
This means that RPG IV for V5R3 can now be considered the base release for articles, software companies, and your own code. If you want a slightly larger market, target V5R2, but remember, in about 100 days, IBM will drop support for V5R2, so if you're not at V5R3 or later, you better get there soon.
RPG IV is like the new iPods: Sure, for a while they were announcing new ones every few months, and the next one was always slightly cooler than the previous model. But you never felt like the one you purchased yesterday was a waste of money.
Programming languages and IDEs are not iPods and are not commodities. They need to have the features in them today so that applications of today can be maintained while we design and build the great new applications of tomorrow. That's right; the compiler and IDE at V5R3 should have everything needed to create, compile, and run V5R4 and V5R5 applications. The current iSeries model is completely backward.
Using a programming language as a selling point for upgrading the OS means the vendor of that OS sees the OS as not having enough power or cool features to stand alone. We used to always run the latest version of the OS in days of long ago. Today, we stay away from it as long as possible for too many reasons to mention—not the least of which is there's often nothing compelling in the new release except an upgrade fee.
What I think a lot of people don't realize is that RPG applications need to work today on today's releases of the OS. Selling me something one or two releases down the road gives me lost hope; it gives me the feeling that the system I have today isn't good enough. I believe this directly impacts upgrades; people become apathetic about upgrading, consequently slowing the move to upgrade.
Due to nothing more than chance, with odds similar to witnessing a meteorite in the sky, RPG IV now has a complete set of features on the "current release" that work well in most situations. Very few partially implemented features (if any) remain in the language today, yet at V5R4, the cycle starts all over again with its read-only XML support. V5R5 does promise to include read/write XML support, but again, that's in the next release.
Bob Cozzi is host of iSeriesTV.com, an audio and video podcast/netcast Web site dedicated to the iSeries/System i world. Bob is also the author of several books, including The Modern RPG IV Language and RPG TNT: 101 Tips 'n Techniques for RPG IV. He is also the producer of RPG World, an annual conference for RPG IV programmers.
LATEST COMMENTS
MC Press Online