COBOL and the Business Programming Paradigm

by Jonathan Sayles, Micro Focus, Ltd

The "Contract on COBOL"

Have you gone to a Client/Server or O-O Technology conference lately? If you did, you probably couldn't miss listening to some sarcastic remark about the COBOL language, COBOL development and even COBOL developers. Yes, it's 1996, and the anti-COBOL dogmatists are still on the warpath, with their "new AS improved" (as opposed to the more accurate, "new as unproven") line of rhetoric on how to reform I/S.

Only this time they're taking no prisoners. They're pitch is that COBOL is a computing language whose time has come and (long since) gone. And that I/S's only salvation from COBOL lies in rewriting production applications using modern (alternative) technology. Managers, directors and vice presidents in attendence should be alert to the implications of this message: "COBOL may be what's always - and is currently - keeping your data center operational, but you're better off staking your personal - and the company's - technical and financial fortunes on technologies with little-to-no track record in the production world." For all the hype you'd suppose that 95% of the production business applications in the Fortune 500 were written in alternative technologies and only 5% were written in COBOL!

Adding insult to injury

Not content to stop at burying the language, many alternative-technology-proponents feel compelled to demean COBOL developers, stooping to imply that they are "dim-wits" all of whom should be replaced by recent college-graduates armed with the latest trendy software and silver bullet products. Some have even gone so far as to allege that the reason for past silver bullet failures can be blamed entirely on those dumb-old, incorrigible COBOL programmers - who just can't help but get in the way of progress (remember "new AS improved"). Few have the honesty and candor to admit that silver bullet technologies fail because they lack the bandwidth necessary to cope with the complexities intrinsic to production business requirements, production business capacity and scale.

Dave Babson, president of Burl Technologies sums it up nicely; "The new technology providers bash COBOL because they must create a throw away - build from scratch mentality in order for their products to succeed." And this new wave of anti-COBOL dogma might seem so much tripe were it not so pervasive and unchallenged by technicians unwilling to be politically incorrect. So, others can bury Caesar, I'll praise him.

Why is it that COBOL is still an excellent fit with the needs of large-scale, complex, long-lived business computing and application development?

COBOL and the Business Application Paradigm

The first COBOL committee - a group of independent language experts and I/S technicians from all walks of life (many commercial-industry (finance, manufacturing, retail,etc.), but including computer software vendors, government, and university - academia!) was convened to design a business oriented computing language that was to become a standard throughout the commercial data processing world. Besides taking into account what computers were capable of - at the time, and what business at the time needed from a general-purpose data processing language, the group took into serious consideration that there are fundamental, critical and non-negotiable realities of business application development. Let us call these realities the "Business Application Paradigm." They are listed below in figure one.



Figure 1. The realities of the Business Application Paradigm - yesterday, today and tommorrow

After much analysis, research and discussion, the independent COBOL committee came up with the first COBOL language standard. COBOL was designed to meet both the technical requirements for business processing at the time, and the critical requirements of the Business Application Paradigm. The committee did an excellent job of reconciling the contradictory requirements inherent in Figure 1. Through their intelligence, independence, foresight and hard work, they created a standard, pragmatic general-purpose business-oriented computing language, which over time, has kept production systems - and the businesses they support - operational.

COBOL as a business computing language is the only single language that meets the requirements of figure 1. Other languages may excel at one or a few of the elements in figure 1, but COBOL alone is:

Self-documenting

Simple

NonProprietary-(portable)

Efficient

Scalable

Universal


Open

Complete

Mature

Reliable and Proven

Why COBOL?

Figure 2 describes the above COBOL attributes positioned against the realities and requirements of the Business Application Paradigm. As figure 2 makes apparent, COBOL evolved from the business development paradigm, and as a single language is uniquely suited for business application development, maintenance and production support. This is not to say that COBOL is all you need to create contemporary (particularly GUI) applications. Nor is it say that COBOL is even best for every class and type of business application. But if you are developing large, complex, long-lived production systems, that will be maintained by a heterogenous group of developers COBOL is the one constant that can be depended on to protect your investment in business application development in an age where intemperate change in I/S technology accelerates towards warp speed.

Is it any wonder that COBOL's death, while anxiously anticipated by vendors wishing to replace the language with their own proprietary wares, is "greatly exaggerated"? Is it any wonder that COBOL is still the "language of choice" for Enterprise application development? Gartner Group August 1995 reports that COBOL is used in over 65% of new application development! The only wonder is that COBOL doesn't dominate the I/S tabloids and conference seminars. But then, what works has never been as interesting as what's fashionable. And fashionable is conspicuously absent from the business application paradigm.

---------------- COBOL Language Elements and Properties -------------------
Business Application Paradigm Realities and Requirements Self-DocumentingSimple PortableEfficient ScalableUniversal OpenComplete MatureReliable
Large Applications
X
X
X
X
X
X
X
X
X
X
Complex Applications
X
X
X
X
X
X
X
X
X
X
Long-lived Applications
X
X
X
X
X
X
X
X
X
X
Dynamic Applications
X
X
X
X
X
X
X
X
X
X
Critical Applications
X
X
X
X
X
X
X
X
X
X
Evolving Architectures
X
X
X
X
X
X
X
X
X
X
Business-orientation
X
X
X
X
X
X
X
X
X
X
Project understaffing
X
X
X
X
X
X
X
X
X
X
Bell-shaped curve of talent
X
X
X
X
X
X
X
X
X
X
Every shop is unique
X
X
X
X
X
X
X
X
X
X
Maintenance/production supp.
X
X
X
X
X
X
X
X
X
X

Figure 2, How the COBOL language properties support the Business Computing Paradigm

Jonathan Sayles, Senior Technical Consultant, Micro Focus, PLC. Mr. Sayles has published books and articles on topics such as relational database, client/server development, application development workbenches, Visual Basic, PowerBuilder, DB2, Oracle, and SQL. He has been editor of the DB2 Journal, and the Relational Database Journal. Mr. Sayles has spoken at Powersoft, VBits, Micro Focus, XDB, DCI, IBM, and DBExpo international conferences, as well as hundreds of regional conferences. As a technical consultant, Mr. Sayles has worked in over 80 of the Fortune 1000 shops in the last 10 years.