I talk about the OG COBOL programming language and explain how its still more prevalent than you probably realise. I go over its history, things it was used for, and how it continues in the modern world.
1. 1/4
Post author By Charlie September 1, 2022
Looking into COBOL – and Being Serious About it
theweeklyrambler.com/looking-into-cobol-and-being-serious-about-it/
For some reason as soon as I heard of COBOL the name instantly stuck in my mind. I do
tend to like names/words with o’s in them like moon and boon for example, so I guess it is
not much of a surprise that the name of this programming language alone has already got
me interested.
I know though that there are many out there who dislike the language and see it as an old
dinosaur that just will not die. But for me that’s actually another reason why I like it.
When I think of COBOL I imagine large rooms full of big computers in the 1960s/70s/80s
and for some reason it gives me this weird sense of nostalgia even though I wasn’t even
alive during that time.
But I like that kind of ‘retro style’ similar to how I like the feel of the Alien movie and the
game Alien Isolation, I like to imagine the sort-of 1980s-style future technology and
gadgets and I love thinking back to times when there were only internet and networks but
no world wide web. I cannot entirely explain why but for some reason the period feels
adventurous to my brain.
And COBOL seems to fit into such similar areas. I feel like many systems seen in the
Alien franchise would run on something akin to COBOL as back then they had no concept
of anything like the more modern programming languages we have now, or other such
technologies we have today.
So naturally you either extend what already existed then or you completely make
something up that likely won’t actually ever come about in the real future. And besides as
you are about to see we actually still use it loads anyway.
So with my new-found fascination for the name COBOL I thought I may as well actually
look into the programming language and see what I can learn about its history and usage
as well as any other interesting tidbits. And unlike many others I am going to try and be
serious about it – many dislike poor COBOL so much now a days that when they speak of
it they enjoy bullying it. But not me! So let’s get to it…
COBOL – standing for Common Business Oriented Language – is one of the older
programming languages with it having first appeared all the way back in 1959. The
language has come quite a way since then. It is only more recently that COBOL has been
updated to fit more into the modern age – but it remains really only used within legacy
systems where it would be too much of a hassle to rip all the COBOL out and replace it
with a more modern language (cause why fix what isn’t broke?).
2. 2/4
Such systems you may still find using COBOL are mainframes, ATMs, and legacy
financial, administrative and business systems in both companies and governments alike.
As such a demand for people who know the language still exists and due to the lack of
places that still teach it today and the many people who’d rather learn a more modern
language (such as JavaScript, Python, Ruby etc), there is a growing shortage.
COBOL is a high-level, imperative, procedural and object-oriented language. High-level
means that it is easier for humans to interpret (and therefore write it) and a compiler is
used to convert the human-programmed language into a machine-readable format, and
object-oriented means the language binds related data and functions into an ‘object’
which can be reused. Imperative and procedural relates to how the language is ordered
and how it executes.
COBOL begun being developed in the late 1950s with sponsoring of the US Department
of Defense who wanted to develop a common business language that could be used for
different kinds of mainframes to remove the need to use various separate low-level
machine code and assembler solutions (solutions a lot harder to learn and that were
defined only for a single brand of computer).
This effort was guided by the Committee on Data Systems Languages (CODASYL).
COBOL would draw inspiration from several older languages of the time:
FLOW-MATIC, which was the first English-like data processing language that was
developed under the direction of the famous American computer scientist and US Navy
rear admiral Grace Hopper (who also promoted and contributed to COBOL’s
development) at the American business machine manufacturer Remington Rand in 1955.
The FLOW-MATIC language was made for the UNIVAC I – the first general-purpose
electronic digital computer design for business application.
AIMACO – standing for AIr MAterial COmpiler was drafted in 1959 as a definition of a
high-level programming language by AMC (not the theatre chain but Air Material
Command that came before the Air Force Material Command), IBM and United States
Steel with intention for it to be used on all AMC systems.
The definition itself was influenced by FLOW-MATIC and COMTRAN but never had a
compiler developed.
COMTRAN – standing for Commercial Translator was an early programming language
developed by IBM in 1957 with the intention for it to be the business programming
equivalent of FORTRAN (Formula Translator) which is a programming language
developed by John Backus and IBM in 1957 for scientific programming. FORTRAN is still
used today making it the oldest programming language still actively used.
COBOL would become the dominant language for building business (and government)
systems and even today it still remains dominant in such areas – namely in the US.
3. 3/4
Data by Enlyft shows the language is still used by over 37,000 companies the majority of
which are IT and Service Industry companies. It is also estimated that up to 850 billion
lines of COBOL remain actively used and that a whopping 90% of Fortune 500
companies rely on COBOL – particularly big finance, insurance, airline and retail
companies.
A US Reuters study in 2017 also showed that 43% of banking systems still use COBOL
with 95% of ATM card swipes relying on COBOL code and that 80% of in-person
transactions also involved COBOL. It also showed that the popularity of COBOL had
dropped dramatically since the early 2000s despite its wide need – with it getting to its
lowest popularity in 2012 from which it has been on a steady resurgence, perhaps due to
renewed demand for COBOL developers.
It is estimated that overall the presence of COBOL continues to support more than $3
trillion in day-to-day commerce. As of now most COBOL developers are aged in the 45-
55 range followed by 35-45, 55-60, under 35s and then over 60s. Will COBOL ever
become hip again?
It is also likely COBOL use will increase in many organisations – especially with
modernisation efforts.
The idea to create a language that would become COBOL came from Mary Hawes who
was a programmer working for the Burroughs Corporation – an adding machine company
that later also sold typewriters and computers.
Hawes wanted a computer language that could run on different brands of computers and
that could perform accounting tasks such as payroll calculations, inventory control, and
records of credits and debits. A call that would later be taken up by the DoD who agreed
to sponsor such an effort and following a meeting of representatives of computer users
and manufacturers at the Pentagon the CODASYL was formed.
After giving this new language the name of COBOL it was time to get it to actually run and
work. This involved developing compilers and testing the COBOL language and resulting
compiled machine code to ensure it worked as intended using UNIVAC I, UNIVAC II and
RCA 501 computers.
Programs using COBOL were being written by 1960 and later that same year the ability of
COBOL to work on different brands of computers was proven for the first time. Following
this the next few years would see other computer companies adopting COBOL and
developing versions of it for their own machines and from there the language begun a
rapid spread.
Reasons for why COBOL still exists in common use today is that it remains a flexible and
reliable language and COBOL’s accuracy with mathematical calculations, which manages
to beat more modern languages such as baseline Java due to design difference, is
precious for banks and the IRS.
4. 4/4
And it’s not even that modern programming languages are worse at maths or could not be
made to work more accurately for such financial calculations – it is just pursuing that
takes even more time and money plus risk – which becomes pointless when COBOL
does it fine as it is.
Many businesses core applications still run on COBOL because overhauling it would be
too risky and costly and frankly for mainframes in particular nothing better has really been
developed.
As well as that there is support being developed for solutions and developer tools to
modernise COBOL (such as Visual COBOL which provides support for the language to
be written in modern and popular integrated development environments and integrate
with Cloud infrastructure) which further reduces the need to replace it and may even
interest budding programmers to learn the language and fill existing and growing
demand.
You are likely interacting with COBOL without even knowing. Things like call centres,
money transfers, bank accounts, payment systems, insurance, ordering systems,
vacation bookings, stock trading, government services and much, much more still often
use COBOL.
So, all in all we should be taking COBOL more seriously – because you’ll probably die
before COBOL does.
Sources
(1) (2) (3) (4) (5) (6) (7)