What do you do when you can’t scrape together funding for Rational Developer for i? There are options.
In case you haven’t noticed, since December my articles have focused on improving your shop and yourself. We have discussed investing in yourself, learning new programming languages, and updating your RPG skills. This article will continue that theme and discuss alternative options for IBM i source code editing.
Before we begin, let me be clear. Rational Developer for i is IBM’s platform for IBM i development. Period. There are features in RDi that you will not find in any other editor. SEU died at IBM i 6.1, and RDi is its official replacement. None of the alternatives we will discuss offer the depth of features and support from IBM that RDi has. If you can get your employer to invest in RDi, then do so. If you can pay for RDi out of your own pocket, do it. RDi is my preferred editor for ILE development and is worth every penny.
Now that I have made my opinion of RDi clear, you need to know that I often hear from developers that their company will not pay for RDi licensing or that the licensing is too high for them to pay for themselves. I do not want to get into the cost/value proposition of RDi and the inherent arguments that spawn from those conversations from both the “pry SEU from my cold, dead hands” crowd and the “RDi should be free” crowd. That’s not the focus of this article. This article points out valid options for code editing for developers who want to leave SEU behind but who cannot, for whatever reason, acquire a license for RDi.
If you are on at least IBM i 7.1, and you should be at this point, then you have the ability to load IBM i's Open Source Technologies licensed program, 5733-OPS. This licensed program includes several open-source technologies, including programing languages such as Python and Node.js, but Option 8 gives you access to the Orion editor. Information on loading 5733-OPS can be found on developerWorks.
Orion is a simplified browser-based editor. IBM has ported this open-source editor to IBM i and included syntax highlighting for RPG, CL, COBOL, DDS, and UIM. Orion automatically saves your source as you make changes, a feature I like. It also has built in support for Git, which is also included in 5733-OPS.
Figure 1: RPG code open in Orion
So, what’s not to like? It’s free if you’re on maintenance and at least 7.1. It gives you basic editing and allows you leave SEU behind. There is one other thing you will need to leave behind: source physical files. Unlike RDi, Orion is not exactly IBM i-aware. This is a drawback for many of the options we will cover. Since Orion does not understand the IBM i library system, your source will need to reside in the IFS. If you can live with this change, Orion is a viable option.
Many of us coders have used Notepad++ for various tasks over the years. It was once my default editor for C++. Notepad++ has gained popularity over the years for its flexibility, extensibility, and free availability. Thanks to my friend, co-worker, and fellow MC Press Online author, Liam Allan, Notepad++ can now edit your RPG code as well. In order to do this, you will need to load a couple of plugins Liam has developed.
First, you will need Notepad-RPG. This plugin provides syntax highlighting for RPG. Next, add the IBMiCmd plugin. Once the plugins are loaded, you will have the needed functionality to edit RPG code, submit commands to run on IBM i, create command bindings for compiling, retrieve and parse error listings, and convert fixed format RPG to free format.
Figure 2: RPG code open in Notepad++
With these plugins in place, you can do your RPG development and even compile your programs. The tool to convert fixed- to free-format is a welcome addition. Again, from what I have seen so far, source physical files are not supported, but there is a lot of functionality to work with. I have not had time to dive too deeply into the functionality, but it looks very promising. With a price of “free,” there is a lot to like.
Visual Studio Code
Figure 3: RPG code open in Visual Studio Code
By the time this article is published, Liam Allan should have his ILE Tools for VS Code extension released. This release will bring new features to VS Code for IBM i commands, parsing compiler error listings, and converting fixed format RPG to free format. He was even kind enough to provide me a couple of screen shots of the extension in action.
Figure 4: Compile-error listing in VS Code
Figure 5: Fixed- to free-format conversion in VS Code
If Liam’s Notepad++ plugins are any indication of the features he is planning, this could become a great option.
If you must have an editor that can work with IBM i source physical files, then MiWorkplace is your almost-free option. MiWorkplace was priced under $50 per year at the time of this article. While not free, it is very inexpensive. It has the ability to work with traditional source files, navigate the IBM i library system, compile ILE languages, work with spooled files, and integrate with the JTOpen debugger.
Figure 6: RPG code open in MiWorkplace
MiWorkplace is actively being developed by Mihael Schmidt. New features are added regularly, and the feature roadmap shows good things to come. A free trial is available if you wish to kick the tires before spending any money. While it is Eclipse-based like RDi, MiWorkplace is not as feature-rich as RDi, nor do I think it will be for the foreseeable future. It is, however, a very viable option when RDi is simply out of the question.
So you’re still using SEU, despite IBM’s stabilization of it at IBM i 6.1, because RDi is “too expensive.” You now have four new options to explore to get away from green-screen development tools. Will it require learning a new tool? Yes. The time to enhance your development tool is now. Kick the tires on all of these options—as well as a trial of RDi—and make an informed decision. Unlike the days of SEU, we have options for development IDEs, and options are always a good thing.
Until next time, enjoy your summer and happy coding!