New RDi Ready For IBM i Developers
September 21, 2015 Dan Burger
Friday was the first day of RDi 9.5 season. The general availability of the latest edition of IBM‘s modern RPG development environment was celebrated with fireworks, champagne, and raucous cheering at IBM i shops from Boston to Berlin to Beijing. If only it were that illustrious. The adoption rate of RDi is unquestionably on the rise, but the pace is closer to a rustle than a hustle. Maybe the new RDi enhancements will up the tempo.
Of all the new features added to RDi 9.5, there are three that may turn up the power of persuasion somewhat for shops considering a transition from 100 percent green screen development. At the top of the list are a built-in 5250 emulator, improvements to free-form RPG formatting, and removal of the 80-column code editing restriction. We’ll get to the rest of the list later.
The 5250 Emulator
Because most shops are unlikely to abandon all use of their legacy green screens, there will be a mix of ongoing 5250 and new GUI development. The built-in 5250 emulator makes this dual purpose development easier by allowing it to occur in the RDi environment.
“The green screen emulator is a home run,” says Charles Guarino, a proponent of RDi who is well versed in the arguments made by those resisting its replacement of their beloved SEU and PDM development tools. The emulator feature is “a big boost,” Guarino says, “even to people like me.”
Many developers still use the command line interface and in many environments there’s no reason to stop doing that. It’s fast and effective in certain situations.
“Modernizing the development environment is not a story that demands 100 percent use of RDi,” Guarino says. “Developers can still use SEU for things that can be done quickly and easily with SEU. I’m going to use a traditional hammer (SEU) to hammer a few nails, but I’m going to use a power hammer (RDi) if I’ll be hammering nails all day long.”
Productivity is one of the big issues in the development debates. Those with SEU skills say their productivity won’t increase with RDi and that it will actually drop when they take the time to learn RDi.
Guarino agrees productivity will drop at the onset of learning RDi, but over time (60 days was a timeframe he used as a reasonable example), productivity will definitely increase as user familiarity with RDi increases. It will keep increasing to be higher than the productivity of green screen tools because of all the features in RDi that are unavailable in the green-screen development environment.
The capability to edit more than one source member at a time and the capability to have an outline view that summarizes an entire program are two important productivity features that give RDi the edge, Guarino says. He also brings up the point that IBM stopped enhancing the green screen tools years ago, which means those tools are not equipped for the enhancements to RPG that have been added in recent years.
“People feel forced off of SEU to use the new RPG, which means they feel forced to use RDi,” he says. That’s part of the resistance. The emulator in RDi 9.5 may soften those feelings somewhat.
A misconception that also plays a role in the debates, Guarino says, is that RDi is simply another editor replacing SEU. RDi is an entire development environment. It’s not just a tool, he says. Guarino travels internationally speaking at COMMON and local user groups on the advantages of RDi. He’s a consultant specializing in RDi training.
The reformatting of free-format code is another enhancement to RDi that is going to be appreciated as this style of coding attracts more developers. It’s right up at the top of the list for Susan Gantner, who’s had hands-on experience with RDi 9.5 while it was in beta testing. Gantner is well known around the world as a subject matter expert, trainer, and educator in RPG development topics. She’s a key partner in System i Developer, a company that presents the RPG & DB2 Summit conferences.
“The beauty of free format is that you can have code that physically appears the way it is logically implemented,” Gantner says.
When it’s done correctly, it is easy to read, and that’s true for RPG programmers and non-RPG programmers alike. That’s one of the top reasons free-from RPG is expected to grow in popularity. Old school RPG is like a secret code known only to a few. Modern RPG written in the free-form style is more universally understood. But like any programming language, new or old, how it’s written is a major factor in how well it is understood. Following established procedures is a better plan than making it up as you go or following quick and dirty “git ‘er done” inclinations.
The capability to reformat free-format code, Gantner points out, allows RDi 9.5 to take code that doesn’t follow established procedure and format it to accurately represent the structure of the code.
“Some people code in free format, but with a style that is similar to fixed format, which doesn’t use indentation to show the format or flow of the logic,” Gantner says while also noting that most people are writing free form properly.
“The more pervasive problem is adding levels of code in the middle of existing code. (Think of it, for instance, as adding code to the second of three levels.) It gets done in a way that doesn’t properly nest the code. It no longer shows the flow of the logic.
“In RDi 9.5, you can take a chunk of code–or the entire source member–and reformat it automatically. It provides options for the number of columns indented and how many spaces to indent.
“The reformatting tool is very useful when you are working with deeply nested logic, which happens a lot, especially in old RPG, and some extra logic needs to be added in the middle. I don’t worry about formatting the code manually. I just figure out where to insert the logic and then ask RDi to do the reformatting. Doing this manually takes more time and is prone to more mistakes,” Gantner says.
This conversion is only for code already formatted in free format. To convert fixed-format code to free-format code requires the use of third-party software. Linoma Software‘s RPG Toolbox and ARCAD Software‘s Converter are products that handle the fixed-format to free-format conversions.
It should also be noted that Linoma’s RPG Toolbox does the reformatting of free-form RPG, which is only available to RDi users at the 9.5 release.
Prior to RDi 9.5, coders were limited to an 80-column data format, which was exactly the format the green-screen editors used. (And punch cards from five decades ago.) That’s changed, even though the majority of RPG developers have formatting habits that are tied to the familiar format designed specifically for green screen display. RDi 9.5 formatting is dependent only on the width of the coder’s monitor to determine how much code will fit on a single line. Before 9.5, there was also this quirky no-coding zone in the first seven columns when using free-form code. Now that is history as well.
“The 80-column maximum was not much of an inhibitor for most programmers,” Gantner says. My tendency is to not put a lot more code than that in one line anyway. I think long lines of code makes it harder to read. I break it up for readability purposes.”
So why is this a top item on the list of RDi 9.5 enhancements?
It’s a freedom issue. That’s my take on it. People seem to like freedom and frown on such things as no parking, no trespassing, and 55 mph speed limit signs. New RPG programmers are a consideration as well. They don’t have 80-column habits. (They could arguably have 140 character habits, thanks to Twitter.) It also does away with a vestige of the green-screen environment. And the more of that restrictive old baggage that can be discarded, the better. (Don’t read interpret that as all green screens must die, however.)
One other thing about the elimination of the 80-column maximum limitation was pointed out by Guarino. The current RPG compiler won’t recognize anything but the 80-column format. But there’s a pretty good chance that will change with the next Technology Refresh, which we expect to be announced in October. Although lips are sealed and non-disclosure agreements are not taken lightly, for weeks I’ve been hearing chatter that RPG enhancements will be the big prize in the next TR.
Other 9.5 Highlights
The addition of snippet support will help in the sharing of pieces of reusable code. Like the reformatting feature mentioned above, sharing snippets is a benefit to standardizing code regardless of how many developers are working on a project. And the push-to-client feature that is new to 9.5 will help in the sharing of snippets, as well as things such as preferences and filters.
Remote Systems Explorer (RSE) filter organization is a new convenience for shops with hundreds or even thousands of filters. Searching for a particular source member, as one example, becomes quicker and easier with the filter enhancements. Not a lot of people use filters, but those that do will appreciate this helpful feature.
The RDi 9.5 compatibility statement includes support for Eclipse 4.4.2, which is good news for third-party plug-ins to RDi. Java 8 is also supported.
Despite a modern Eclipse-based development environment and an impressive list of productivity enhancements, RDi is in a dog fight with the green screen advocates who have been in that groove long enough for outsiders–and even some insiders–to refer to it as a rut. And even though IBM hasn’t spent a nickel upgrading the green screen development tools in years, there’s a stubborn reluctance to stick with the horse many of the older developers rode in on.