Development and Pipeline

Development and Pipeline

Development and Pipeline

Connecting mainframe application developers to discuss efficiently creating and maintaining z/OS applications

 View Only

Select/Start - IBM Developer for z/OS on Eclipse and VS Code, part 1

By Chris Sayles posted 18 hours ago

  

VS Code has been making big noise in the development tools space for a while now. Touted as a “a streamlined code editor with support for development operations like debugging, task running, and version control,” it would appear at first glance to be the next big thing, as they’d say, in the development environment space.

And they’d be right.

For many, VS Code is the perfect place to set up shop and do their daily work. A clean, light-weight devleopment environment that makes getting in a coding as efficient as possible. By colloquial evidence, it is the preffered IDE (Integrated Development Environment) of most devs that entered the workforce in the 2010’s and is widely used in universities due to its low barrier-to-entry (cost-wise, setup-wise, pretty much everything-wise). While historically VS Code has been used by distributed developers, there is a big push to get VS Code in the mix when it comes to coding on z/OS. With the help of extensions that have been crafted and made available through the VS Code marketplace, VS Code is making a place for itself amongst the titans of mainframe development IDEs.

One in particular, IBM Developer for z/OS (IDz), has been an industry leader for many years. With a pedigree that goes back as far as 2003, IDz is a mature workbench with quite comprehensive feature set for z/OS-ecosystem development. There’s even a little bit of distributed functionality squirreled away in the library that is IDz. Built on Eclipse, the possibilities are technically endless with regards to extensibility, albiet time-intensive and weighty (read: expensive). And something that is often overlooked (unless you are currently enrolled in or have attended my DevOps Distance Learning classes) but a key feature for developers making the switch from a 3270/green screen development environment to a GUI environment, IDz on Eclipse has features baked in to allow for direct transfer of existing 3270-based programming skills. While this doesn’t account for everyone, this can make a big difference in winning the developer base over at a large company.

But then again, providing a familiar development environment to developers who are already inundated with tasks related to understanding a code catalog written in unfamiliar languages and, quite possibly, over 3-4 decades ago can also make a big difference in winning a developer base over.

To get down to it, TL;DR style - I would like to present a series of articles showcasing both the Eclipse-based IDz development environment and “IDz on VS Code”, which is VS Code + extensions that create a cohesive development experience for work on z/OS. In this first article, let’s introduce the two IDE’s and talk about what they are and what they do, starting with “IDz on VS Code”.

IDz on VS Code

IBM® Developer for z/OS® on VS Code is part of the IDz Enterprise Edition software solution provided by IBM. Formerly known as Wazi for VS Code, IDz on VS Code is based on the IBM Z Open Editor extension and provides programming functionality for COBOL, PL/I, Assembler, REXX, and JCL. Here are a few of the
main features:

  • Real-time syntax checks and highlights while you type

  • Problems view with all syntax errors and (in COBOL) unreachable code

  • Outline view and outline search

  • For both variables and paragraphs:

    • Declaration hovers

    • Peek definition

    • Go to definition

    • Find all references

  • Code and variable completion

  • Find and navigate references

  • Preview of copybooks and include files

  • Navigate to copybooks and include files

  • Refactor, such as "rename symbol"

  • Custom code snippet support and more than 200 example code snippets out of the box

  • Search and replace refactoring across multiple program files

The fully licensed version includes advanced capabilities like preproccesor support for COBOL, a web view that displays various z/OS resources, custom HLASM macro support, a DBB user build problems view, and more. Add Zowe in to the mix for z/OSMF or RSE API connections, as well as Git integration, and VS Code gives developers the power to work in mainframe-centric environments with confidence.

Eclipse-based IDz

IDz on Eclipse is a robust toolset, built over two and a half decades, delivering the full gamut of z/OS-based development tools. From z/OS language support to web services, data tooling to debugging, this Eclipse-based solution has it all. Being built on Eclipse enables support beyond IBM teambuilt solutions, giving users the ability to code their own custom interfaces to technology that would otherwise be unreachable, allowing integration with business-critical utilities used in 3270 programming currently.

Some of the main features include:

  • Modern, simple z/OS development

  • Advanced debugging of composite z/OS applications

  • Advanced application structure and quality analysis tools

  • Automated unit testing and code coverage

  • Source control, lifecycle management and problem diagnosis integration

  • Customize and extend the development environment

  • Licensing to suit your needs

  • IBM Dependency Based Build (available in Enterprise Edition)

  • Expanded IDE choices including Microsoft VS Code (available in Enterprise Edition)

  • Customization and automation of z/OS application deployment for test and production environments in a continuous integration/continuous delivery (CI/CD) pipeline with IBM Wazi Deploy (available in Enterprise Edition)

With all of this information, you may be asking yourself: which do I choose? Which solution is right for me/my teams? Is one better than the other? I’ll be answering those questions over a few articles coming soon, but I’ll give you one piece of op-ed you don’t want to miss: Both are fantastic tools. Don’t pick a side, put them both in your tool box and use them to make your development lifecycle that much better.

0 comments
8 views

Permalink