Depending on where your shop’s modernization initiative stands, you may be extremely familiar with Eclipse-based software or you may never have heard of it. Regardless, Eclipse has come to the mainframe and is likely to change the way programmers accomplish work for years to come.
Eclipse is an open source framework built on software originally provided by IBM. It can be used to build any user interface, but is most traditionally associated with integrated development environments (IDEs). Eclipse provides the de facto Java IDE and is used by programmers worldwide. Current generation programmers have almost certainly used Eclipse, either in college, at previous jobs or in recreational programming.
The traditional development environment for z/OS programmers is ISPF. In many ways ISPF represents both the best and worst of the mainframe. It was instrumental in mainframe growth, as it provided a common platform that IBM, third-party vendors and companies could tailor to suit their needs. It was extensible when C++ was still just a twinkle in Bjarne Stroustrup’s eye. But it’s also intrinsically tied to the now vestigial 3270, making poor use of the real estate available on today’s monitors. Its menu system is esoteric and the editor is rudimentary in many aspects. Worst of all is that ISPF, without any significant competition for decades, has had little or no innovation in recent memory.
Enter Eclipse. Eclipse has been honed in the dog-eat-dog world of open systems IDEs. This competition, in conjunction with the crowdsourcing available via open source development, has led to a robust, programmer-pleasing interface. It’s extremely extensible, built on a plug-in architecture that allows features to be created and added on demand. There’s a rich set of existing plug-ins available via the Eclipse marketplace, some free and some charged.
So where does the mainframe enter into all this? Eclipse has been embraced by several vendors, IBM included, as the preferred framework for mainframe user interfaces moving forward. Just as in the Eclipse marketplace, some of these are charged for while others are conditionally free. In addition, the plug-in architecture lends itself to interfaces that may contain a combination of software from IBM, from third-party vendors and from your company. Just like ISPF.
Is Eclipse for the mainframe really just a solution looking for a problem? No. It’s this very topic that keeps C-level executives up at night. In 2011, Compuware commissioned a study of 520 CIOs from enterprise organizations to determine the business impact of the retiring mainframe workforce. Seventy-one percent of those surveyed stated they’re concerned that the looming mainframe skills shortage will hurt their business. Specifically, they’re concerned the skills shortage will result in increased application risk (58 percent), reduced productivity (58 percent) and project overruns (53 percent). To truly attract the best and the brightest, a modern, state-of-the-art development environment is a must.
If you haven’t yet experienced an Eclipse-based IDE, what can you expect? First of all, expect your next generation of mainframe programmers to already be familiar with Eclipse. And while current mainframe implementations don’t entirely obsolete ISPF (think instead of the 80/20 rule, so the most popular ISPF functions can be accomplished within the Eclipse-based IDE), these programmers will come up to speed on the mainframe much quicker since this will relieve them from much of the ISPF minutiae. Even programmers who are fluent in ISPF will find things to like in an Eclipse-based IDE. It will provide them with a sophisticated editor and the ability to have many views into z/OS open simultaneously as well as drag and drop, cut and paste, right-click for menus, features users have come to expect from any computer. And remember, this is all in addition to existing z/OS capabilities rather than in lieu of. Nothing is removed; it just provides an alternative approach to mainframe development.
How to get started? As far as the mainframe, you will need to investigate the modernization initiative at your shop. But since knowing one Eclipse-based IDE will help you understand another, you could go out to Eclipse (www.eclipse.org) and download the current Java Standard IDE (releases have both a release number and a codename; the current release is 4.3 or Kepler). Eclipse provides significant help getting started, or a quick search should find directions on building a simple “Hello World” application. Feeling ambitious? Write an Android app!
Hopefully, as you work with Eclipse-based development environments, you will experience that same feeling of delight that millions of programmers have experienced before you. Welcome to the future of mainframe development!