IBM i DevOps TechTalk
VS Code & Arcad – Part 1 #5
by the experts at ARCAD
This IBM i DevOps TechTalk podcast is on a very popular topic — VS Code. It’s the first in a series of informative discussions. It features Andrew Clark, DevOps Product Manager, and Alan Ashley, Senior Solutions Architect, as they discuss VS Code for the IBM i. Listen in for great information and answers to questions:
- What is VS Code?
- What are the benefits of VS Code?
- What does ARCAD bring to VS Code?
- BYOT – Bring Your Own Tool. Choose your tooling!
The Story Behind the Mic: Podcast Transcription
Ray Bernardi – Welcome to IBM i DevOps TechTalk, where we discuss key topics and questions with our Arcad experts. Today we’ll discuss a topic that everyone is talking about, and that’s VS Code. With me today is Andrew Clark. He’s our DevOps manager and Alan Ashley, he’s a senior Solutions architect here at Arcad software. Let’s listen in as the two of them discuss VS Code.
Alan Ashley – Andrew, so we hear a lot about VS Code these days. What is VS Code?
Andrew Clark – Vs Code is the hot new editor that is coming into the IBM i workspace. VS Code has kind of taken over the de facto editor space for the younger generations. So where in the past people coming out of college would have experience with something like Eclipse, now they’re coming out of college with experience with VS Code.
VS Code is developed by Microsoft. It’s actually a code editor. It’s not an IDE and it’s unfortunately named VS Code. Visual Studio Code has basically nothing to do with Visual Studio, which many people are familiar with. Visual Studio is a heavyweight IDE. We’re talking about 50 gigabyte install of Visual Studio on your desktop that does a lot of the Microsoft development language tooling while VS Code is a much smaller install, less than 500 megabytes, so 100th of the size in many cases. It’s kind of a throwback to development from my youth, kind of keyboard driven very fast, very light. Not a lot of graphics inside of the screen. So it’s a much more natural fit for people that are used to using the command line, which tends to be the younger developer, because they usually learn Git from the command line as well.
So it has tight integration with Git from the ground up, which is another reason that it’s so powerful and it just has a huge community following. It has thousands of plugins. It’s really kind of the best code editor moving forward, most flexible, most supported code editor moving forward. And now we’ve got some good integration with IBM i as well.
A.A. – I think you left out one important feature. It’s free.
A.C. – Oh, it’s free. Yes. I never talk about costs, but yes, that’s a huge deal. So Eclipse is also free, although RTI, which is built on Eclipse, certainly is not. But you can get started with VS Code and there are open source extensions out there for the IBM i that you can get for free and that’s not the case with RTI.
RTI even with some of the open source extensions, base RTI does have a cost and base VS Code does not. And that’s obviously a huge advantage for many shops.
A.A. – And with VS Code, we get to take advantage of some of the open source development because the extensions are kind of open sourced. I guess, right?
A.C. – Yes, right. So there is a code for i, an extension for VS Code. That’s open source. It has a bunch of backing and there’s a IBM i developer pack that you can download directly from within VS Code. It’s just takes a couple of seconds. It’s another advantage honestly of VS Code versus Eclipse and RTI is that the extensions can be installed into the workspace so much more quickly.
So you can get going up and up and going and then install, full install, download everything within a matter of 20 or 30 minutes. You could start from scratch and have nothing and then have a fully working IBM i development environment on your machine using VS Code for free, which is obviously a huge advantage to anything that’s available in marketplace right now.
A.A. – So we mentioned VS Code, we’ve talked about what’s so great about it and why it’s so popular today. Here at Arcad, we’re developing our own extension. So what is ARCAD bringing to the extensions that work on VS Code?
A.C. – So the big advantage of ARCAD, not only within VS Code but within RDi as well, is kind of this integrated environment that we have. So we have this backend metadata repository, it’s a cross reference repository that sits on the IBM i. And the important thing is that all of our tooling, including our VS Code extensions and our RDi extensions, all share the exact same repository.
So what that means is that whenever you make any kind of a change, any kind of code change or do any kind of update in one place, we talk about BYOT (“bring your own tool”). It really doesn’t matter to ARCAD, but in the VS Code perspective. Whenever I make a change in VS Code and compile something, then that repository gets updated and then all of the tooling whether that’s CodeChecker or Transformer RPG or iUnit or Verifier and all of our tooling that integrates in this whole DevOps chain, you can trigger those things from VS Code and those changes are propagated throughout the entire development process.
So we’ve got within Merlin which is based on VS code, it’s the same idea, we ship Transformer RPG, Observer and the builder piece with Merlin. You can also install that exact same plugin, literally the exact same plugin, the exact same code written that works in Merlin, works inside of VS Code so you can install that plugin and run from there.
And then we have other plugins as well that are coming down the road. We’ve already got kind of a CodeChecker, kind of proof of concept working. And I know that we’re looking at doing DROPS, which is kind of our distribution model. So everything in the A4D, the DevOps workspace changed continuous integration, continuous deployment, ARCAD has plugins that fit in every step of that chain. So all of the front end stuff is available today inside of VS code and we’re going to plug those holes, the iUnit hole and the DROPS hole very soon as well. And again, the big advantage with ARCAD is when you’re just doing base VS Code without the free version. You talked about the advantage of free. So we’re talking about base versus code. When you do a build, the problem is you have to create the makefile. So you have to tell VS Code. You have to tell the build engine how to compile your dependencies. So in other words, I have to compile my physical files first.
And then there are reference files and then there are modules, logic calls, views and rescue views. And then I got to do service programs. It’s a really complex structure for IBM i development and other platforms don’t have that. That’s one of the unique things about the IBM i because that it makes the build process very difficult and so that ARCAD Metadata repository deals with that automatically, you don’t have to manage a build file.
And that’s the huge advantage is that it knows about all those relationships. So that build gets done automatically. It doesn’t have to worry about creating a Makefile. It knows what the dependencies are. And then when we go into our other tooling, our things like iUnit and CodeChecker, it knows which tests need to be run because of that cross-reference repository.
And when it does the distribution, it knows where those things need to go. So that’s the advantage is that all of the steps in the chain share that same repository and everything can be triggered directly from VS code.
A.A. – Right. And I know that in some of my testing as this is rolling out, I’ve gone through and used CodeChecker and been able to run it against the same rule sets because we’re tying into the same CodeChecker server that is already running that you may already have. Same thing like Andrew was mentioning, we have the observer aspect of where you’re able to dig in and really look at that cross-reference.
Again, that’s all part of that metadata repository. We’re just bringing that forward to VS Code. And one of the ones I really just love, running over and over and over again is Transformer RPG, because you can literally watch the screen flip from fixed format to fully free. And that’s fabulous. I just love being able to watch that change happen right there in VS Code.
A.C. – So I’ve been doing development for 30 years and someone that hasn’t had a built in cross-referenced tool doesn’t really know what they’re missing. So as part of the development cycle in any modern shop, one of the requirements should be fully free RPG. And what you can do is when there is a change in place for a version, one of your code standards, one of your quality standards should be we do not allow code push back into production that’s been changed, that is still fixed form. And it’s a one click process with Transform RPG. So you bring it into VS Code and you right click and you say transformed of RPG. It’s 100% in almost all cases or it’s as close to 100% as machine possible is concerned. And the other huge point is the observer cross-reference information having that right there, I can see there’s a code lens. That’s one of the things that’s built into VS code so I can see cross-reference information in my source right there. I can right click on a member and see the relationships. I can right click on a field name in the source and see the relationships and then jump to the other places.
I can look at my procedure definitions and see which parameters are passed and I can jump back and forth. It makes everything so much more powerful. Instead of going through all of those manual processes, you’ve got that built in cross-reference right there at your fingertips. It’s invaluable. It pays for itself the first time that you use it.
The power is just incredible. And until you’ve actually seen that, you don’t really realize what you’re missing.
A.A. – And after this conversation, we’re going to have to have a part two for this. So I kind of want to lay out what may be coming. And you mentioned some of it, the i Unit extensions, the DROPS extensions, fine tuning CodeChecker extensions and bringing more that of what you’re experiencing now from ARCAD in RTI.
We’re bringing that forward to VS Code. And when we have our part two on this down the road here, we will carry on some of those conversations as well. So, Andrew, anything else you want to say about VS Code and how ARCAD brings it together to work with Git and your BYOT?
A.C. – So the other point, something that we’ve talked about will bring your own tooling, is that really the choice is there for you to make. You can choose whatever tooling you make within your company. You may have people using one tool or another. Certainly VS Code is the hottest, newest code editor that’s available.
But if you have an established investment in RTI or if you have people that just simply refuse to move from 50 to 50, all of this can fit together. And one of the powers of ARCAD is that really we kind of allow you to use your own tooling. And that’s one of the real strengths of our solution.
R.B. – That is a lot of great information. We are definitely going to be doing a second techtalk on this. Andrew, Alan, thank you very much. Let me summarize just a little. We talked about VS Code and what it is. We talked about ARCAD and the ARCAD extensions and how ARCAD is heavily invested in VS Code.
In fact, ARCAD had a head start in VS Code because of Merlin and all the work that we’ve done there.
Thanks for listening. Hope to see you there.
Our Hosts
Alan Ashley
Solution Architect, ARCAD Software
Alan has been in support and promotion of the IBM i platform for over 30 years and is the Presales Consultant for DevOps on IBM i role with ARCAD Software. Prior to joining ARCAD Software, he spent many years in multiple roles within IBM from supporting customers through HA to DR to Application promotion to migrations of the IBM i to the cloud. In those roles, he saw first hand the pains many have with Application Lifecycle Management, modernization, and data protection. His passion in those areas fits right in with the ARCAD suite of products.
Ray Bernardi
Senior Consultant, ARCAD Software
Ray is a 30-year IT veteran and currently a Pre/Post Sales technical Support Specialist for ARCAD Software, international ISV and IBM Business Partner. He has been involved with the development and sales of many cutting edge software products throughout his career, with specialist knowledge in Application Lifecycle Management (ALM) products from ARCAD Software covering a broad range of functional areas including enterprise IBM i modernization and DevOps.
Andrew Clark
DevOps Manager, ARCAD Software
Andrew Clark has been working on the IBM i platform for more than 30 years, beginning with the “secret Mankato Project” on a pre-release version of os/400, and an internship at IBM Rochester working on the Query team. He has development expertise in more than a dozen languages on multiple platforms, as well as a background in green-screen, Windows, mobile and web development. His major responsibilities included coordinating developers from four different offices in three different continents while still maintaining Architect responsibilities. He is proficient at everything DB/SQL on IBM i, and has extensive experience in the entire DevOps lifecycle.