PDF version of this report
You must have Adobe Acrobat reader to view, save, or print PDF files. The
reader is available for free
download.
Fortran and COBOL Today
Copyright 2022, Faulkner Information Services. All
Rights Reserved.
Docid: 00018014
Publication Date: 2202
Publication Type: TUTORIAL
Preview
Often considered obsolete, two mainframe-era languages, Fortran and
COBOL, are experiencing a resurgence. Fortran, which stands for “FORmula
TRANslation,” serves the scientific community while COBOL, which stands
for “COmmon Business-Oriented Language,” is used mainly to process
large-scale business transactions. But with the availability of
so-called modern languages, like Python, Java, and C, the present – and
future – utility of Fortran and COBOL are in question.
Report Contents:
- Executive Summary
- Related Reports
- A Brief History of
Fortran and COBOL - Fortran and COBOL Today
- The Future of Fortran and
COBOL - Web Links
Executive Summary
[return to top of this
report]
Mainframe computing – which originated circa 1960, and was eclipsed in mind,
if not necessarily market, share by later innovations, like client/server,
cloud, and edge AI – is "alive and well," and driving the transaction processing
operations of today’s largest corporations and government agencies.
Related Faulkner Reports |
Python Programming Tutorial |
Micro Focus Company Brief |
Along with mainframe hardware, including IBM’s latest, the z15 model,
mainframe languages, like Fortran and COBOL, remain viable today, due in
large measure to the millions of lines of legacy code still in service,
but also to a programming community that still finds utility in these
groundbreaking compilers.
For the present generation of programmers raised on Python, Java, C, and
other contemporary languages,
Fortran, which stands for FORmula TRANslation, is a scientific
and engineering language designed primarily for compute-intensive
applications like mathematical simulations.
COBOL, which stands for COmmon Business Oriented Language, is
designed, as the name implies, to process the millions upon millions of
business transactions generated on a daily basis by the Banking, Retail,
Healthcare, Telecom, and other essential sectors.
This report offers a brief history of Fortran and COBOL, a look at how
Fortran and COBOL are employed today, and, finally, how Fortran and COBOL
are positioned for future use.
A Brief History of Fortran and
COBOL
[return to top of this
report]
Fortran
Generally acknowledged as the world’s first programming language
standard, Fortran was created in 1954 by legendary mathematician John
Backus, who led a small development team of men and women possessing a
diverse set of skills – programmers, mathematicians, engineers, a
cryptographer, even a chess wizard. As team member Richard Goldberg
recalled fondly, “We were the hackers of those days.”
Figure 1. The Pioneers of Fortran
Source: IBM
As the primary author of Fortran, Backus, also famous for Backus-Naur
Form (BNF), a context-free grammar used to describe the syntax of
programming languages, understood that engineers needed the ability to
write their own programs. With the advent of FORTRAN (it was all
caps in those days to emphasize the formula translation or scientific
element), the torturous task of keying in as many as 1,000 program
instructions for a given problem could be reduced to as few as 47 lines of
FORTRAN code.
After three years of development, FORTRAN was unveiled in February 1957
at the Western Joint Computer Conference in Los Angeles. For the
first time, programming was accessible to mathematicians, scientists,
engineers, and other non-traditional programmers. Indeed, anyone
familiar with high school algebra could probably write a FORTRAN
program. Ken Thompson, the developer of UNIX, recalls that “95 percent of the
people who programmed in the early years would never have done it without
FORTRAN.” J.A.N. Lee, a leading computer historian,
calls FORTRAN “the turning point” in computer software, much as the
microprocessor revolutionized computer hardware.
While hardly an unbiased observer, IBM asserts, with considerable
authority, that FORTRAN “may well be
the most influential software
product in history.”1
Owing to the vital role that FORTRAN plays in scientific computing, the
language has been actively developed since its inception, with new
editions like FORTRAN II, FORTRAN III, FORTRAN IV, FORTRAN 66, FORTRAN 77,
and Fortran 90 (the “FORTRAN” name was changed to “Fortran” in
1990). Later incarnations included Fortran 95, Fortran 2003, Fortran
2008, and the latest version, Fortran 2018.
According to analyst Deepu Benson, “Fortran 90 was very significant since
it brought in many fresh changes to the language like allowing free-form
source codes, recursive procedures, operator overloading, dynamic memory
allocation, etc. “[The] Fortran programming community today
generally advises the use of Fortran 90 or a later standard.”2
COBOL
Much like Fortran, COBOL, or rather the language that inspired COBOL, was
the product of another brilliant and dedicated computer scientist, Admiral
Grace Hopper. As detailed by analyst Patrick Stanard, “[in] 1952, [a
team led by Hopper] developed the first computer language compiler known
as A-O, which was able to translate mathematical code into
machine-readable binary code, making programming possible. Hopper’s
team then went on to develop another language called FLOW-MATIC which used
English words as programming constructs. In her search to use
English in programming languages, FLOW-MATIC became a sort of predecessor
to the modern-day COBOL. Hopper felt it was very important to use
more user-friendly languages in programming so people could easily adapt
and learn how to program.”3
Figure 2. Grace Hopper
Source: Wikimedia Commons
Officially, COBOL was the product of a US Department of Defense
initiative called CODASYL (or the COmmittee on DAta SYstems Languages),
which “drew on Grace Hopper’s FLOW-MATIC, but also Univac’s AIr MAterial
COmpiler (AIMACO), and IBM’s COMmercial TRANslator (COMTRAN).4
As described by Bola Rotibi, Research Director for Software Development
at analyst firm CCS Insight, COBOL “is a language that was specifically
built to be easy to use for encapsulating the application business logic
and accommodating the transaction processing requirements of the core
infrastructure systems that serve many organizations that operate in these
sectors.”5
PL/I
Offered for context, a third major language emerged during the early
mainframe era: PL/I, or
P
rogramming
L
anguage I.
PL/I was designed to support scientific, engineering, and
business applications. Developed by IBM as a Fortran/Algol/COBOL
composite, PL/I, which first appeared in 1964, is still used today, though
less commonly than either Fortran or COBOL.
Fortran and COBOL Today
[return to top of this
report]
Fortran
The current Fortran standard, as endorsed by the International
Organization for Standardization (ISO) is “ISO/IEC 1539-1:2018: Information
technology – Programming languages – Fortran – Part 1: Base language."
The current Fortran version, correspondingly, is Fortran 2018.
While in 2022, Fortran barely registers in most language popularity
polls, often missing the top 20, Fortran remains a strong favorite among
serious scientists. In a 2015 commentary, entitled “Why physicists
still use Fortran,” Dan Elton asserts that “Fortran is still a dominant
language for the large scale simulation of physical systems, i.e.,
for things like … :
- “Astrophysical modeling of stars and galaxies,
- “Hydrodynamics codes,
- “Large-scale molecular dynamics,
- “Electronic structure calculation codes,
- "Large-scale climate models, etc.
“In the field of high performance computing (HPC), of which large
scale numerical simulation is a subset, there are only two languages
in use today – C++ and ‘modern Fortran’ (Fortran 90/95/03/08).”6
Among the many factors favoring Fortran are:
The ready availability of legacy code, particularly plug-and-play
scientific subroutines
– As Elton wryly observes, “[physicists]
are not in the business of writing code … they are trying to
understand the nature of reality.”7
The easy-to-learn programming concepts and conventions
– As a
fellow physicist, this writer managed to absorb and apply the basics of
FORTRAN IV to college-level research projects while juggling classes in
Thermodynamics and Linear Algebra.
The performance-driven nature of Fortran
– As mathematician
Martin D. Maas reminds us, Fortran has always been optimized for
speed. The developers “[make] it very hard to write slow code in
Fortran; while in other languages, most notably in C, you [have] the
freedom to do things that would lead to slow code.”8
The fact that Fortran is still being actively developed
– In
the US, by the US Fortran Programming Language Standards Technical
Committee.
The absence of any real Fortran alternative
– A relatively new language called Julia, which is capable of incorporating
Fortran functionality, is viewed, at least presently, as a companion
offering.
While some Fortran aficionados advocate, often impatiently, for new
features, a larger subset seems to favor greater portability and
performance. As Ondřej Certik, a scientist at the US Department of
Energy’s Los Alamos National Laboratory (LANL) recently revealed, “[when]
I talk to people who use Fortran, they tell me
the number one thing
they want is compilers that can run their code on modern hardware,
efficiently
– not just run, but take advantage of it.”9
COBOL
The current COBOL standard, as endorsed by the ISO is "ISO/IEC 1989:2014:
Information technology – Programming languages, their environments and system
software interfaces – Programming language COBOL."
The current COBOL version is IBM Enterprise COBOL Release 6.3.
In 2022, as in years past, COBOL is the dominant, if not necessarily
preferred, language of business transaction processing. Consider the
Banking sector, for example:
- According to Reuters, 43 percent of US banking systems are built on
COBOL, with a remarkable 80 percent of in-person transactions and 95
percent of ATM interactions relying on the language.10 - As recently as 2012, the Bank of New York Mellon was responsible for
maintaining 112,500 different COBOL programs, totaling an astronomical
343 million lines of code.11
The early – and continued – success of COBOL as a business automation
tool was aided by its simple, businesslike organization. COBOL
programs are divided into four primary divisions:
- The Identification Division, which describes the program;
- The Environment Division, which details the inputs and outputs;
- The Data Division, which defines the program’s variables; and
- The Procedure Division which includes the program logic, as expressed
by executable statements invoking Data division variables and
Environment division I/O.12
Like an old car, however, fueled by leaded gas, COBOL is often unsuited
to an unleaded present. Among the most common complaints:
- COBOL is
verbose, requiring more lines of code than modern-day
languages.13 - COBOL is
out-of-step with modern digital technology, or an
analyst Joel Khalili laments, COBOL was “designed long before the
internet existed” and “the language is not equipped to facilitate the
level of interaction and dynamism required by mobile and web
applications.” According to Barry Baker, VP of IBM Z Software,
COBOL had to concede part of its market space to newer, more relevant
languages like Python and Java.14 - COBOL is
woefully understaffed, with too few programmers
available to adequately maintain and enhance the COBOL program install
base. The scope of the problem was revealed in the run-up to Y2K,
and persists today. Most recently, for example, COBOL-based
systems were overwhelmed by the number of unemployment claims received
in the wake of the COVID-19 pandemic. Governor Phil Murphy of New
Jersey was compelled to issue a public call for volunteers to help
update critical apps. “We literally have a system that is 40-plus
years old,” he complained.15 - COBOL is “
too hot to handle,” with many organizations reluctant
to address apparent COBOL-related deficiencies due to fear of breaking
vital applications and disrupting essential operations.16
Despite the obvious obstacles, some present-day COBOL enthusiasts point
to the following:
- COBOL 6.3 is a
promising
edition, offering a new,
feature-rich version of an old language. As critiqued by analyst
Patrick Stanard, COBOL Release 6.3 “contains quite a few advantages that
tie in nicely to the IBM z15 system’s processing capabilities.”17 - COBOL has powerful
industry allies, IBM, of course, but also
Micro Focus, one of the world’s largest enterprise software providers.18 - COBOL
training is available, with Micro Focus reporting that
IBM “offers fellowships and training programs in COBOL for young IT
specialists, and has trained more than 180,000 developers in 12 years.”19
The challenge for COBOL programmers, and the organizations for whom they
work, is curating an often massive portfolio of COBOL applications, some
decades old. Which applications should be retained “as is,” which
should be removed, and, most challengingly, which should be “modernized”?
As analyst Scott Carey observes, there are four basic “COBOL
modernization” strategies:
Commercial Off-the-Shelf (COTS)
– Find a similar piece of
commercial software and affect a direct replacement.
“Lift-and-Shift”
– Move the application from its present legacy
platform to a more modern platform, without making any design changes.
Total Rewrite
– This is the scary one. “Break down [the]
applications and rewrite [them] in a more modern language,” adding new
features and functions in the process, and improving the user interface
(as necessary).
“Code Refactoring”
– As Carey explains, “This involves some
restructuring of the code, often through automated refactoring software
from specialist providers. This technique maintains the existing
business logic but enables better performance and portability, without
drastically changing the core functionality.”20
The Future of FORTRAN and COBOL
[return to top of this
report]
All things considered, the future trajectory for both Fortran and COBOL is
probably flat.
While neither language is likely to attract many new adherents, the
existing user base should remain fairly stable, particularly as both
Fortran and COBOL are under active development, and new versions offer the
promise of new features and functions.
Fortran
Regarding the issue of language turnover, analyst Sejuti Das counsels
current Fortran programmers that switching to a new language would be a
“waste of time” if working on open-source Fortran-related projects. He further advises that “Fortran [would not] be a wrong move for new
programmers, if [they are] willing to make a career in scientific
computing.”21
One development that could change this calculus, however slightly, is the
creation of
Julia. Making its debut in 2012,22
Julia is billed as “the fastest and easiest high-performance computing
language for artificial intelligence, machine learning, analytics, data
science, modeling, and simulation.”
According to The Julia Project, the Julia language “is used by more than
10,000 companies worldwide, including AstraZeneca, BlackRock, Google,
Intel, Microsoft, Moderna, [and] Pfizer, as well as NASA, the Federal
Aviation Administration, and the Federal Reserve Bank of New York.” While not intended to replace languages like C and Fortran, Julia enables
the calling of C and Fortran functions.23
Going forward, organizations should:
- Encourage scientific computing users to adopt the language (or
languages) best suited to their projects, including, of course, Fortran; - Improve programmers’ Fortran skills through periodic, project-related
training; and - Introduce new languages like Julia (as appropriate) to supplement
programmers’ options.
COBOL
While musing about COBOL’s mortality, analyst Joel Khalili expressed what
most experts firmly believe: “If COBOL were to go extinct, we’d all be
in serious trouble.“24
Just like the big banks during The Great Recession of 2008 and 2009,
COBOL is “too big to fail,” or, more accurately, “too big to fix.” Leon Kappelman, an IT professor at the University of North Texas, predicts
that replacing existing COBOL code could cost “between $4 and $8 trillion
dollars.”
Even on a much smaller scale, Kappelman questions the “business case” for
migration, arguing that COBOL systems are “quite structured and fairly
maintainable. Think of the back office systems of banks, brokerages,
insurance, and government organizations that are capable of processing
massive amounts of transactions efficiently and quickly. It’s just
overhead and there’s not really much, if any, strategic value in replacing
them.”25
Going forward, organizations should:
- Recruit or train more COBOL programmers (to deal with pandemic-like
spikes); - Improve programmers’ COBOL skills through periodic training; and
- Pursue a COBOL Modernization Program designed to produce an effective,
efficient, and sustainable portfolio of COBOL and non-COBOL
applications.
Web Links
[return to top of this
report]
-
IBM: http://www.ibm.com/
ISO: http://www.iso.org/
Julia: http://www.julialang.org/
Micro Focus: http://www.microfocus.com/
References
1 “FORTRAN: The Pioneering Programming Language.” IBM. 2021.
2 Deepu Benson. “Classical Programming Languages: The Story of
Fortran.” April 21, 2021.
3 Patrick Stanard. “Today’s Business Systems Run on COBOL.”
TechChannel | Key Enterprises LLC. March 10, 2021.
4 “What Is COBOL?” Micro Focus. 2022.
5 Joel Khalili. “The Programming Language That Doesn’t Want
to Die.” TechRadar | Future US, Inc. June 27, 2020.
6 Dan Elton. “Why Physicists Still Use Fortran.” July 16,
2015.
7 Ibid.
8 Martin D. Maas, Ph.D. “5 Reasons Why Fortran is Still Used.”
Martin D. Maas, Ph D. (blog). September 20, 2021.
9 Liam Tung. “This Old Programming Language Is Suddenly Hot
Again. But Is Future Is Still Far from Certain.” ZDNET. May 5, 2021.
10 Joel Khalili. “The Programming Language That Doesn’t Want
to Die.” TechRadar | Future US, Inc. June 27, 2020.
11 “What Is COBOL?” Micro Focus. 2022.
12 “COBOL – Program Structure.” tutorialspoints. 2021.
13 Joel Khalili. “The Programming Language That Doesn’t Want
to Die.” TechRadar | Future US, Inc. June 27, 2020.
14 Ibid.
15 Ibid.
16 Ibid.
17 Patrick Stanard. “Today’s Business Systems Run on COBOL.”
TechChannel | Key Enterprises LLC. March 10, 2021.
18 Joel Khalili. “The Programming Language That Doesn’t Want
to Die.” TechRadar | Future US, Inc. June 27, 2020.
19 “What Is COBOL?” Micro Focus. 2022.
20 Scott Carey. “How Companies Are Moving on From Cobol.”
InfoWorld | IDG Communications, Inc. May 10, 2021.
21 Sejuti Das. “66 Years of Fortran – Dead or Alive?”
Analytics India (magazine). September 25, 2020.
22 Dan Elton. “Why Physicists Still Use Fortran.” July 16,
2015.
23 “The Julia Language.” The Julia Project. December 24,
2021:302.
24 Joel Khalili. “The Programming Language That Doesn’t Want
to Die.” TechRadar | Future US, Inc. June 27, 2020.
25 Esther Shein, “COBOL Remains Alive and Well, Despite Its
Age.” TechnologyAdvice. March 4, 2021.
About the Author
[return to top of this
report]
James G. Barr is a leading business continuity analyst
and business writer with more than 40 years’ IT experience. A member of
“Who’s Who in Finance and Industry,” Mr. Barr has designed, developed, and
deployed business continuity plans for a number of Fortune 500 firms. He
is the author of several books, including How to Succeed in Business
BY Really Trying, a member of Faulkner’s Advisory Panel, and a
senior editor for Faulkner’s Security Management Practices.
Mr. Barr can be reached via e-mail at jgbarr@faulkner.com.
[return to top of this
report]