Posted on

COBOL: Not only for mainframes

Recently, there’s been a lot of news about growth in opportunities for work in the COBOL language, owing to a resurgence of the IBM mainframe platform both to support mission-critical applications in key industries and to take advantage of IBM Z cloud computing capabilities. While IBM Z accounts for the majority of existing COBOL applications, the language is relevant to other platforms, as well.

Historically – if I may use such a word for an industry less than a century old – the computing market has been segmented into more levels than just “micro” and “mainframe.” Mid-sized enterprises have long faced a dilemma: Use relatively inexpensive microcomputer equipment and systems that barely keep up with the company’s demand for computing power, or pay heavily for mainframe systems that have several times more capacity than the company will ever use.

To serve that market, a number of computer companies provided midrange computers.

Most of the media play centers on the big iron – IBM Z – but midrange systems are in the same position today with respect to legacy systems and virtualization, and with respect to the generation of people who have been supporting them going into retirement. Companies have significant investment in and dependency on legacy systems, and the old systems are being modernized and cloud-enabled.

Which programming language do you suppose people used to write most of their applications on midrange systems? You guessed it: COBOL.

To connect a couple of dots for software engineers considering picking up COBOL skills: IBM Z has the greatest market share. This platform is used only by the very largest enterprises. It is not cost-effective for smaller companies. In general – with the usual caveats about generalizations – larger enterprises are less open to change than smaller ones.

That doesn’t mean they won’t hire you. It means that in many such companies, you would have to use the traditional interface to the mainframe – a terminal-based, text-oriented interface called Time-Sharing Option (TSO) with a full-screen interface built on top of it, the Interactive System Productivity Facility (ISPF). This interface supports a very basic text editor with none of the usual features or conveniences of modern IDEs. It isn’t necessary to work this way anymore – at least five IDE-based interfaces to System Z are already on the market – but a company that isn’t willing to invest in modernizing their systems will probably not support any of the newer IDE-based interfaces to the Z system. You won’t enjoy working that way day in and day out.

Most articles on the subject focus on the needs of hiring companies – their old workforce is leaving, and they need new COBOL developers. But what about your needs, as a software engineer? Which segment is more likely to embrace new developer technologies for interacting with the host system? Which segment is more likely to adopt contemporary development practices such as those arising from Extreme Programming? Where will you find the more-interesting job opportunities with COBOL?

Here are three more reasons to learn COBOL in the 2020s: PowerSystems, OpenVMS, and NonStop.

What’s “midrange?”

We don’t hear the term “midrange” much anymore. Today’s microcomputer-based systems are more robust than they used to be, especially when configured as a set of flexible networked resources hosted on an elastic cloud platform, so the market for midrange systems has declined.

On the cultural level, younger professionals loosely refer to anything larger than a desktop or tower PC as a “mainframe.” You hear them say things like “AS/400 mainframe,” which sounds a little odd to an oldtimer.

They’re probably right, though. The boundaries between these different “levels” of computers and operating systems are blurred. The distinctions between terms like “microcomputer,” “midrange,” and “mainframe” are fading. Almost anything can run in a virtual machine or container. It’s practical to choose an operating system based on the needs of your application, and not have to worry about what types of hardware will support it.

Like mainframes, midrange systems also host mission-critical legacy applications in key industries, humming away quietly without raising a fuss on social media. And like traditional mainframe assets running under z/OS and z/VSE, midrange systems are being enabled for virtualization.

Modernization and job prospects

Three of these systems are of particular interest to COBOL developers: IBM’s PowerSystems (formerly known as System i, and before that the iSeries, and before that the AS/400); VMS (the original operating system of DEC VAX equipment, now ported to several other platforms); and HP NonStop (the original always-up computer from Tandem).

Another common denominator here is SQL. All these systems, including mainframe and midrange systems, have always supported relational database management systems that use SQL.

At least two of the midrange systems mentioned here have been enhanced to support Java, just as IBM Z systems have been. Java is playing a central role in modernizing the largest and mid-sized computer systems. So, Java will be another very marketable skill going forward.

All these systems, mainframe and midrange, have incorporated Unix functionality into their base operating systems. You can work with them using your basic Unix/Linux command-line skills with essentially no learning curve time. They still support their respective traditional control languages, too.

Modern integrated development environments (IDEs) are available for all these platforms, so you don’t have to live with the traditional text-based, terminal-based development tools that were prevalent in the 1980s.

If you bring a combination of COBOL, SQL, Java, and Unix/Linux skills to the table, you’ll be in a favorable position with any employer who has a dependency on mainframe or midrange systems and is looking to modernize them. IBM Z is a great option for you, but you have more options than just that.

Taken together, midrange systems don’t have the market share of IBM Z, but they do constitute a significant job market for COBOL and SQL developers. All are positioned to play a role in cloud-based computing. They are used in smaller companies than Z systems, so these employers may be more open to change and more likely to embrace contemporary methods and tools.

IBM PowerSystems

PowerSystems is the current iteration of the Application System/400 line. The AS/400 was introduced in 1988, and the lineage has enjoyed steady market share since then. Current PowerSystems can run the IBM i OS, which is descended from OS/400, as well as IBM’s AIX (a Unix flavor) and Linux.

COBOL was always one of the main programming languages for this family of systems. As the technology continues to move forward, we can anticipate growth in job opportunities for people who know the language.

This platform hosts familiar IBM assets like CICS and DB2, which means your general mainframe-focused COBOL skills will be applicable in organizations that use PowerSystems.

PowerSystems are already cloud-enabled. IBM offers hybrid cloud-based solutions built on Red Hat OpenShift to provide virtualized PowerSystems instances. Google and Microsoft, separately, also offer cloud-based PowerSystems solutions.

VMS and OpenVMS

Digital Equipment Corporation (DEC) was a key competitor to IBM in the 1970s-1980s, with a focus on mid-sized companies. Those customers were the sweet spot for the low-end IBM mainframe line as well as several competiting midrange systems.

In 1977, DEC introduced the VAX computer (Virtual Address eXtension). From an engineering standpoint, the technology was as interesting as the latest platforms from Tandem, IBM, and Control Data (CDC). They intoduced a new operating system to take advantage of the VAX architecture, with the unassuming name of VMS (Virtual Memory System). The system supported continuous availability through clustering.

VMS became a favorite among software developers and software engineers. The idea of backward compatibility, which had been (in my opinion) IBM’s trump card from the introduction of the System/360 in 1964, made the VAX/VMS system a long-lasting player. Several thousand companies still use the VMS operating system today, although the VAX hardware has been superceded by other platforms.

VMS has been ported to several platforms over the years, and ownership of the operating system has changed hands. Users are loathe to see it go. Today, VMS is managed by VMS Software Inc., which markets a version named OpenVMS. They are currently modernizing the system to enable it to be supported on cloud environments, with a target of approximately 2022.

Mirroring the public perception of IBM mainframes, VMS was expected to “die,” as speculated in a 2013 article in ComputerWorld. Mirroring the mainframe’s response to public perception, VMS is still going strong and is being positioned for a role in future cloud computing.

HP NonStop

Tandem Computers, founded in 1974, created a practical business computing system that could remain operational continuously, even while nearly any hardware upgrade or repair was underway. Appropriately, they called it the NonStop system.

The system was widely used in the financial industry to support applications that suffered severe financial impact whenever systems went down, including stock trading floors, automated teller machines, telephone switching centers, and other transaction-based operations that required continuous availability or, at a minimum, very rapid recovery or failover.

The architecture was unique at the time. The NonStop system had no central components and almost no single points of failure. The operating system was designed to keep applications running even when a hardware component failed – including CPUs and main memory modules.

Oldtimers tell tales of receiving a replacement board in the mail before they even knew a component was about to fail – the system ordered its own replacement part when it detected a failure was imminent.

Tandem was picked up by Compaq, and later by Hewlett Packard. As this is written, the latest NonStop system is the HPE NonStop X NS7. It’s cloud-enabled through VMware technology.

Tandem was well known back in the day for its implementation of relational database technology. Along with IBM and Oracle, Tandem’s SQL-based RDBMS was top of the hill. Your SQL skills will be in demand going forward.

More information

IBM PowerSystems

VMS and OpenVMS

NonStop