Momentum Builds For Code For IBM i
November 7, 2022 Alex Woodie
Energy and excitement are building in the IBM i development community thanks to Code for IBM i, the VS Code extension that enables users to write and edit RPG and COBOL code in a Web browser. Spearheaded by Liam Allan, who now works for IBM, the lightweight alternative to RDi is approaching critical mass among IBM i developers desperate for something new.
For many years, IBM i shops had few options available to them when it comes to developing ILE applications for IBM i. IBM’s default recommendation was Rational Developer for i, the Java-based integrated development environment (IDE) that traces its lineage back to WebSphere Development Studio Client (WDSc) and other Eclipse-based tools.
There have been, of course, many vendors with their own languages and runtimes for IBM i, such as LANSA, ASNA, and Broadcom via CA 2E – not to mention newer open source languages and IBM i runtimes for PHP, Node.js and Python (which were the subject of a recent “shoot-out” by Perforce’s Mike Pavlak). But when it came to developing 100 percent native ILE RPG, COBOL, C/C++, and CL programs and applications, RDi was the main game in town–unless you wanted to use an ancient utility like SEU.
Since he arrived on the IBM i scene back in 2016, Allan has been a force for expanding the world of development options for writing ILE apps on IBM i. His first foray into the non-RDi world occurred in 2017 with IBMiCmd, a Notepad++ plugin for IBM i development. He followed that up the same year with ILEditor, which was originally called Idle, and which runs on Windows and is also free.
In 2021, Allan introduced Code for IBM i, an open source plug-in for Microsoft’s popular VS Code that converts that Web-based IDE into a development tool for ILE languages, including RPG, COBOL, C/C++, and CL. Allan initially had created a paid professional version of Code for IBM i that offered features like integrated unit testing, code coverage, and documentation, as well as technical support.
However, plans have changed. Since Allan joined IBM earlier this year, the VS Code for IBM i Pro edition has been scrapped. The good news is that some (if not all) of the premium features that Allan previously provided in that product through his private company, Halcyon Tech, are now available to users in the IBM i Development Pack, which is free and open source.
“If you want all the cool stuff like code coverage and the Db2 extensions, you look for the IBM i Development Pack,” Allan said during a presentation on Code for IBM i at COMMON’s recent NAViGATE conference. “That has everything that you need. Everything. . . . You get it, and that’s it.”
The IBM i Development Pack, which is available for download on the Microsoft Visual Studio Marketplace, is combination of 13 different packages for VS Code, including Code for IBM i itself, as well as community developed packages like RPGLE Free, content assist, an outline view, and a linter, among others. Allan wrote about many of them in a January article on LinkedIn.
Adoption of VS Code among IBM i shops is on the upswing, according to Allan, who said there are more than 10,000 installs now. “We have more than 800 daily users now,” he said.
The Code for IBM i project at GitHub has 147 stars, making it the most popular IBM i-related project on GitHub. There are at least 25 people who have contributed to the Code for IBM i project, which is another indicator that it could have real lasting power in the open source realm.
“We’ve had 25-plus contributors at this point so I’m not the only one that works on it, which is really cool,” said Allan, whose official IBM title is advisory software engineer. “It’s completely community orientated and I love that fact. It’s not just me, which is really nice.”
An informal Twitter poll taken in October by Jesse Gorzinski, IBM’s senior business architect for open source software on IBM i, indicates that VS Code has become the second most popular development environment on IBM i, behind RDi, but ahead of green screen tools, such as SEU.
Code for IBM i users are encouraged to share their opinions on the product on this GitHub page. The feedback is mostly positive, aside from a few bug reports and comments about features that RDi has but Code for IBM i does not.
“Love this!” writes Bryan Dietz, an IBM i engineer with Cardinal Health. “Amazing amount of work you’ve put in.”
“I love what you have done,” writes an anonymous user. “It has improved my development process.”
“I’m impressed at how quickly the extension has matured,” writes Martin Tosney of the UK. “You’re an absolute machine, @worksofliam!”
Another user credits Code for i and VS Code with helping to maintain his or her productivity while working at a small company that runs an old RPG application but had no budget for RDi. Instead, the company used SEU to write and edit RPG.
“When I joined the company I needed to start learning RPG, but was confined to SEU as there was no budget for RDi licenses. That is when I found this excellent extension which has allowed me to rapidly learn modern free format RPG. As SEU has limited or no support for free format syntax, I was stuck with extremely frustrating cycles of compiling and then checking spool files to see what I’d done wrong. With Code for IBM i, I can hit a couple of keys and my errors are highlighted and messages displayed all in VS Code.”
Code for IBM i isn’t the only way to develop IBM i applications using VS Code. That’s because another important event happened earlier this year that played in Code for IBM i’s favor: the launch of IBM Merlin, which itself uses a VS Code-based IDE called Eclipse Theia to enable ILE development on IBM i.
While Merlin doesn’t use or support Code for IBM i, the fact that IBM would embrace Web-based development after so many years of sticking to their fat client RDi guns showed that an important change had taken place in the minds of IBM’s platform executives in Rochester and Austin.
The debut of Merlin also appeared to trigger another monumental change in IBM’s development strategy: sharing the IBM i debugger.
The inability to access the IBM i debugger has been critical gap in the push for Web-based IDEs like Code for IBM i and Merlin. Allan has worked for years to get IBM to open up access to the debugger, to not avail. But thanks to Allan’s persistence, and to IBM’s credit, the company finally took it upon itself to open up the debugger with the latest IBM i Technology Refresh. A debugger that works with non-RDi IDEs, including the version of Theia in Merlin and Code for IBM i, is due to be available next month.
While Merlin has the backing of IBM and its DevOps partner, including ARCAD Software – and soon to be others thanks to IBM’s strategy of using Merlin as a umbrella framework to introduce new DevOps capabilities in the new agile method – Code for IBM i also has the de facto backing of IBM, thanks to the release of the stranglehold on the debuggers as well as the hiring of Allan earlier this year.
These factors, as well as other evidence, suggest there is a considerable amount of momentum building behind VS Code in the IBM i world. That includes Code for IBM i, which has the advantage of being free, as well as Merlin, which is not free. You can find more information on Code for IBM i at its GitHub page.