RDi Jumps Aboard The TR Train
October 9, 2017 Dan Burger
What is it going to take to convince IBM i developers that RDi, a modern Eclipse-based development environment with an impressive list of productivity enhancements, is a better development tool than the traditional green-screen tools that were designed decades ago? While IBM hasn’t upgraded the green-screen development tools in years, the investment in RDi continues. The latest Technology Refreshes, announced last week, embellished the list of productivity features RDi offers.
Most IBM i shops that are using modern RPG coding techniques are familiar with RDi and the value of modernizing applications that are significant business assets. It is the organizations that are uncertain about their application strategy that should be taking a closer look at RDi 9.6.
The enhancements with RDi 9.6 are mostly about the developers’ experience writing code. Writing higher quality code should be a priority for application development teams. The better the code, the better the productivity throughout the lifetime of the application.
Program understanding is one of the areas that’s seen significant advancements over the course of multiple RDi releases and is miles ahead of the old green-screen tools that were created in the late ’80s and early ’90s. (SEU/PDM, we’re talking about you.)
“RDi helps developers do their job faster and with a higher level of understanding. They write code faster and more correctly the first time,” says Tim Rowe, business architect for IBM i application development. “That equates to higher quality. In modern IDEs like RDi, there’s a live outline view that provides an understanding of how programs fit together – where variables were referenced, initialized, used or not used. SEU provides no insights into the code. Developers have to glean insights on their own.”
Code quality has improved as user functionality has been added through the request for enhancement (RFE) program, which has led to RDi becoming a higher quality tool. It’s been many years since SEU has had additional functionality. Still, there are users who claim superior productivity using the old green-screen tools. Rowe says that’s hogwash and productivity studies show a 20 percent to 50 percent improvement when comparing developers using RDi compared to SEU.
Here’s a look at what’s new in RDi 9.6, which is scheduled to become available November 21.
The integration with headless code coverage is a productivity vantage point. It’s the capability to call code coverage inside and outside RDi. This helps the developers and the QA test team identify lines of code that were or were not executed when a test case was run and allows code coverage to be a part of the build process. Analysis can be accomplished on the IBM i from any command line invocation and RDi is only required to view the results. The QA team does not require an RDi license.
Error reporting has been enhanced so that annotations will appear in the columns within the line that have caused compile errors. Adding convenience and saving time is a feature that allows users to place their cursor over an error icon, which triggers a message to appears along with a link to second-level help. Users can also “hover” over variables that reveals the containing data structure or external file and record as well as any other contributors to the definition of this field and allows a hyperlink to them. The hovers have also been enhanced to show the associated documentation for the given RPG declaration, encouraging better comments.
RDi is updated every couple of years to be compatible with current versions of Eclipse. For now, that’s Eclipse 4.6. Rowe says RDi development doesn’t automatically upgrade with each Eclipse upgrade because updating levels of Eclipse is no longer an update install, it’s a new install. New installs are more work for users than update installs, so IBM, in this case, is trying to keep it simple. I would imagine the third-party vendors with products that integrate with Eclipse are happy with that decision.
RDi has been on a twice a year cadence for enhancements, but it’s a separate schedule from the Technology Refreshes and their GA dates are not aligned. With the latest TRs – IBM i 7.3 TR3 and IBM i 7.2 TR7 – they occurred in the same quarters RDi and were announced at the same time.
When RDi upgrades occur, Rowe says, there’s an extensive package and testing process that typically prohibits enhancements from being delivered more than twice a year. He’s not expecting that to change, regardless of the RDi development collaboration IBM announced last month involving HelpSystems. There’s a potential for more RDi enhancements to be released as a result of the partnership, but the development teams are still being ramped up and Rowe says it’s too early to tell if the pace of RDi enhancements will increase.
RPG programming remains resoundingly relevant in the IBM Power Systems niche where it shares space with other languages such as Java, PHP, a few fourth-generation options and a host of open source options. It’s doing very well as a modern language when in the hands of skilled programmers familiar with modular programming techniques, Web and mobile development, and one or two additional languages.
“We want people to move away from the archaic tooling,” Rowe says. “RDi not difficult to use, but people don’t like change. RDi is significantly more productive and it’s not that big of a leap to use it unless you consider all the functionality that is in RDi. There are relatively simple ways to transition from SEU to RDi without any training. That doesn’t immediately make anyone an expert, but there are videos that provide the basics and the documentation and installation have been improved. RDi is easily used by young developers who have been using similar tools for many years.”