Until a few months ago, the clearing and billing system for NYSE Group Inc.’s stock options exchange consisted of about 800 discrete Cobol programs running on an IBM mainframe. Today, the entire application set has migrated onto a pair of clustered, quadprocessor Windows servers. The recompiled programs remain in Cobol today, but they won't stay there for long.
“It's not our long-term goal to remain running the Cobol applications. That was a tactical move, designed to slide the existing applications off of the mainframe with as little disruption as possible,” says Steven Hirsch, vice president of technology support at the stock exchange. Within the next few years, he expects everything to be rewritten to conform to the NYSE's standard development platforms: Java and C. What's more, other Cobol-based systems that power the New York Stock Exchange are “deeply engaged in a similar replatforming effort,” Hirsch says.
NYSE isn't the only organization that would like to abandon Cobol. Of 352 respondents to a recent Computerworld survey of IT managers, 218 — or 62% — said they use Cobol. Of those 218 respondents, 36% said they plan to gradually migrate off of it and 25% said that they would do so if it weren't for the expense of rewriting all of that code.
So what's wrong with Cobol? The technology, which has been around since 1960, is rock-solid. It excels at batch processing and is practically self-documenting, and tools for it have not only been modernized but also support distributed systems. Vendor Micro Focus International Ltd. even offers Cobol.Net, a part of its Net Express offering that fits neatly into Microsoft Corp's .Net Framework and integrates with the Visual Studio suite of programming tools.
An Image Problem
But Cobol is also a procedural language in an object-oriented world. While it's well suited to batch operations, the language isn't as good a fit for developing interactive applications or Web-based front ends. And it has a major image problem. Outside of the mainframe data center, Cobol is viewed today by many Java, Visual Basic and C# programmers as an obsolete and inferior language, a vestige from the dark ages of big iron.
Most new Cobol programs are written only to extend or support existing applications on the mainframe. For example, Shaun Swift, director of information systems at capital goods retailer Papé Group Inc. in Eugene, Ore., says his company writes new Cobol applications for his back-end systems to accommodate acquisitions.
When Cobol applications are migrated over to Windows, Unix or distributed systems, they remain in Cobol because rewriting them is expensive and risky, not because Cobol might be the best choice for the application. “Nobody wants Cobol, but realistically they can't get rid of it,” says Dale Vecchio, an analyst at Gartner Inc. in Stamford, Conn.
What programming languages do you use in your organization? Choose all that apply.
Visual Basic - 67%
Cobol - 62%
Java - 61%
VB.Net - 47%
C++ - 47%
Perl - 30%
C - 26%
C# - 23%
ColdFusion - 15%
PHP - 13%
Fortran - 7%
PL/1 - 5%
Python - 5%
Pascal - 4%
Ada - 2%
Source: Computerworld survey of 352 readers
If you don't use Cobol, why not?
Cobol is an outdated language. - 55%
Cobol is an inferior language compared to the ones we use. - 34%
Our enterprise is too new to have Cobol applications. - 27%
Lack of Cobol skills in-house or in the labor market. - 24%
Other - 22%
Our enterprise is too small to have Cobol applications. - 17%
If your organization uses Cobol, how much internally developed business application software is written in Cobol?
More than 60% - 43%
31-50% - 16%
O5-15% - 14%
16-30% - 12%
51-60% - 12%
None - 2%
Don't Know - 1%
If your organization uses Cobol, are you using it to develop new business applications?