COBOL: easy to learn, easy to use.
Think about the last gadget you bought, and then think about how you got it to work. Did you put the device to one side while you spent some quality time reading the manual from cover to cover? Or did you rip it out of its packaging and try to start using it straight away?
It’s only natural to want work out how something works ourselves and, let’s face it, most gadgets are fairly easy to figure out.
There’s also the fact that maybe we don’t want to read the manual. Possibly over time we have learnt not to trust manuals, we shy away from technical information and prefer to avoid anything to do with techno-babble.
It’s the same story in the day job. We avoid having to “figure out” technical facts and figures, especially if we just have to stare at it, un-coached. We are drawn to things that make sense without too much effort, that are easy to understand visually and, if they are languages, that are easy to write.
The COBOL computer programming language stated its objective to be ‘easily understood’ a very long time ago. Its authors prescribed its value as part of its name: Business-Oriented. The ideal was that the business community could use this technology to make life easier. Targeting a previously ignored audience was the cornerstone of its success.
COBOL is structured in terms of its layout, and uses active English-derived constructs (ADD is ADD, EQUALS is EQUALS, PERFORM is ‘go and do’ etc.). These tell the reader at a glance what the code is trying to achieve. New Micro Focus employees are shown some COBOL code as part of their induction training and are asked to describe the code sample with two minutes coaching. Everyone succeeds because the language is a naturally intuitive construction that anyone can write.
As anyone can write it, it becomes possible to create low-cost high-availability resource pools to construct applications – with its logical structure leading to a fairly consistent implementation.
Consider defining some data: with COBOL the rules are pretty self-evident and quite explicit. For example, 01 item-a pic 99V999 is a data item ‘item-a’ defined as (a picture) a two-digit number with three decimal places. It is exact, straightforward and easy to pick up.
As anyone can read it the downstream benefits are equally significant. First, it means the resource pool available to work on COBOL systems is conceptually unlimited. There is no barrier to entry for future COBOL programming skills. This means a lot in terms of strategic planning and investment, and in terms of dollars.
Second, if anyone can read it anyone can maintain it. A second generation of programmers can code COBOL and also code in existing COBOL applications they hadn’t originally written. Also non-developers can at least follow the flow where it was necessary: QA staff can assist with code walkthroughs and debugging work, systems administrators can provide appropriate support functions and be more familiar with the applications themselves.
Third, the high legibility of COBOL avoids a major and common pitfall – namely that coders will simply rewrite something they do not understand in their preferred language. COBOL typically passes the comprehension test. As Michael Coughlan of the University of Limerick says, “It’s not a write-only language. You can come back years later and understand the code.”
COBOL became the dominant business language for very good reasons. It evolved as COBOL programmers picked up and added to existing applications, enabled by the fact that the language is easy to understand. “COBOL is one of the few languages written in the last 50 years that’s readable and understandable”, says Mike Gilpin, Analyst at Forrester
More recent language enhancements and modern OO syntax enables managed-code developers to cross boundaries quickly and support COBOL development as the constructs of Object Oriented COBOL will be familiar. Conversely, COBOL programmers need only acquire modest new syntax to consider providing COBOL business functionality as consumable objects.
Whatever the business requirement, COBOL remains one of the lowest-risk and lowest-cost options in terms of application provision, simply because it is easy to gain the skills to develop it.