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-Documenting | Simple | Portable | Efficient | Scalable | Universal | Open | Complete | Mature | Reliable |
Large Applications | ||||||||||
Complex Applications | ||||||||||
Long-lived Applications | ||||||||||
Dynamic Applications | ||||||||||
Critical Applications | ||||||||||
Evolving Architectures | ||||||||||
Business-orientation | ||||||||||
Project understaffing | ||||||||||
Bell-shaped curve of talent | ||||||||||
Every shop is unique | ||||||||||
Maintenance/production supp. |
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.