Posted on 1.4.2020.
Automatically convert Java to RPG and gain 20x developer productivity
Are you managing legacy applications? Then you probably have to deal daily with legacy code such as this horror:
myList.stream().map(String::toUpperCase).filter(s -> s.startsWith("A")).forEach(System.out::println);
And we know this is making your professional life miserable:
– Inability to hire knowledgeable experts (only mutant turtles understand lambdas)
– Huge amount of pointless overhead, such as unit tests and source code repositories
– Poor developer productivity wrt. the best industry standard metrics such as lines per day
– Bad coding practices such as lack of comments, obvious in this example
– Cost of hardware, as even running a basic IDE requires at least a VGA screen
As a professional, your mission is to provide efficient and reliable solutions, but what are your options?
Hopefully there is a way out of this legacy nightmare. Neograms just released version 0.Ɛ of its “Java to RPG” converter, which will automatically convert this gibberish into a maintainable and efficient RPG IV program (see listing in Figure 1 below). And for a modest additional fee we can also provide RPG II code on punchcards shipped to you by horseback carrier.
Productivity
Let’s get straight to the bottom line and talk productivity:
- Legacy program: 1 line
- Converted program: 20 lines (not counting comments)
Increase in developer productivity: 20 times
Readability
But coding practice is not only about writing code, it’s about reading it. Note how the converter automatically suggested meaningful names for you:
- XBC044, QS36FS, YPI282
Automatic documentation
The converter also automatically generated documentation (remember, there was no documentation at all in the legacy code). Now the converted program comes with 12 lines of comments, a vast improvement over the previous situation.
Usability
And finally, let’s not forget usability. Complex and confusing user interfaces are automatically replaced with familiar, simple and efficient green screens.
Before conversion (legacy web page)
After conversion (modern green screen)
Conclusion
It’s difficult in a short article to let you fully appreciate the beauty of RPG programming. To go further, try the “Java to RPG converter” on your legacy Java application and see the results for yourself.
Note the improvements in readability and productivity.
H DATEDIT(*YMD) H*********************************************************************** H* PROGRAM ID. HLWRLD * H* * H* CONVERTED BY NEOGRAMS DATE : 01/APR/20 * H* ORIGINAL JAVA PROGRAM Hello World DATE : 31/MAR/20 * H*********************************************************************** FDATA00A IF E K DISK C*********************************************************************** C* C DEFKEY KLIST C KFLD XBC044 C*********************************************************************** C P@PRM1 PLIST C PARM QS36FS 50 C*********************************************************************** C MOVEL *BLANKS QS36FS 50 C*********************************************************************** C READ DATA00R 90 C *IN90 DOWEQ '0' C* C MOVEL QS36FS XBC044 C* CONVERT TO UPPERCASE C CALL 'YPI282' P@PRM1 C XBC044(1) IFEQ 'A' C DSPLY QS36FS C READ DATA00R 90 C ENDIF C ENDDO C* C SETON LR C RETURN C***********************************************************************