Tikalon Blog is now in archive mode.
An easily printed and saved version of this article, and a link
to a directory of all articles, can be found below: |
This article |
Directory of all articles |
Celebrating COBOL
March 31, 2011
There's a saying that
"if it ain't broke, don't fix it!" This applies especially to large
legacy software programs that continue to do their job many years after they were written. This is notoriously true for many
mainframe payroll applications, and they were little noticed until
Y2K. For those of you too young to have lived through the change of year from 1999 to 2000, this roll-over in dates caused a problem for many legacy systems. This could have been called the
millennium computer problem, but the new millennium didn't start until 2001,[1] which is surprising to most people.
Since these legacy systems were written in legacy software languages, there were quite a few
retired programmers who were enticed to come out of retirement to fix these applications. The problem was that early programmers didn't have the wealth of
memory or fast
processors we have today, so they wrote
frugal code that took less space and did simple operations. For this reason, dates never included the most significant digits of the year (understood to be always 19). This saved a lot of
bytes of storage in huge database applications, and it made calculation of differences of dates faster.
Many of these legacy applications were written in
COBOL, an acronym for Common Business Orientated Language. Legacy programs written in COBOL are still used to process millions of banking transactions daily. "Cobol" may also be familiar to
Battlestar Galactica fans as the origin planet for the human
diaspora.[2]
COBOL, the computer language, is now fifty years old. It was one of the first
high-level languages, and the first to run on computers of different manufacture. It was run simultaneously on a
Remington Rand Univac computer and an
RCA 501 computer on December 6, 1960.[3] The fiftieth anniversary of COBOL is the object of an online exhibit, and a physical exhibit that opened March 17, at the
Smithsonian National Museum of American History.[4-6]
You can't think about COBOL without thinking about
Grace Hopper. Hopper was one of the first
computer scientists and computer programmers. She wrote the first
compiler; that, for a language called "A," so now we know the milieu in which "
C" was named. This compiler was written while Hopper was working at
Remington Rand. "A" evolved into
FLOW-MATIC, one of the precursors for COBOL. In 1959, Hopper was technical consultant to
CODASYL, a two-day conference of industrial and government computer experts that launched the development of COBOL.
Commodore Grace M. Hopper, USNR official portrait photograph, January 20, 1984.
The CODASYL conference was convened to address the problem that software written for a particular brand of machine would not run on others. This was a special problem for the US government, since it bought computers from many different manufacturers. If compilers were written for a high level language for each machine, this problem would vanish. Furthermore, the government had enough clout to require such a compiler for computers it bought. The CODASYL conference set the specification and development of COBOL into motion. The
verbose syntax of COBOL is a result of Hopper's idea that computer language should be as natural as spoken language.
A chronology of COBOL's creation appears on the Smithsonian web site:[7]
• In 1959, Mary Hawes of Burroughs Corporation asked computer users and manufacturers to consider the creation of a language that would run things such as payroll calculations, inventory control and financial ledgers on different computers.
• In May 1959, Charles Phillips of the U.S. Department of Defense sponsored a conference of about 40 representatives of computer users and manufacturers at the Pentagon. The Short Range Committee of the Conference on Data Systems Languages was established at that conference with government funding.
• CODASYL was a subcommittee of the "Short Range Committee."
• During 1960, teams at Remington Rand Univac (Philadelphia, PA) and the RCA 501 Systems Center (Cherry Hill, NJ) wrote COBOL compilers for their machines
• On December 6, 1960, COBOL programs ran successfully on the Remington Rand Univac computer and the RCA 501 computer.
COBOL set the stage for development of other common programming languages, and the ability to run such programs on computers of various manufacture set the stage for the
computer software industry.[7]
Linux operating system users can experiment with COBOL for
free using OpenCOBOL, an
open-source COBOL compiler. Open COBOL creates COBOL executables in an interesting way. It translates COBOL into C and compiles this translated code on the
GNU C compiler.[8]
References:
- When does the New Millennium Start?, NASA Goddard Space Flight Center, Ask an Astrophysicist Web Site.
- Battlestar Galactica (TV Series 1978–1979) Page on the Internet Movie Database.
- Smithsonian Celebrates COBOL, Computer.org, December 16, 2010.
- COBOL (Common Business Orientated Language) exhibit, March 17, 2011.
- Nicholas Jackson, "Smithsonian Celebrates COBOL's 50th Anniversary With New Site," The Atlantic Monthly, December 16, 2011.
- Peggy A. Kidwell, "50 years of running COBOL," American History Blog, Smithsonian Institution, December 6, 2010.
- COBOL Exhibit Web Site, Smithsonian Institution.
- OpenCOBOL Website.
Permanent Link to this article
Linked Keywords: If it ain't broke, don't fix it!; legacy software programs; mainframe computer; Year 2000 problem; Y2K; millennium; retirement; programmer; computer data storage; central processing unit; SWEET16; frugal code; byte; COBOL; Battlestar Galactica; diaspora; high-level language; Remington Rand Univac II computer; RCA 501 computer; Smithsonian Institution; National Museum of American History; Grace Hopper; computer scientist; compiler; C programming language; Remington Rand; FLOW-MATIC; CODASYL; Commodore Grace M. Hopper, USNR; verbose syntax; Burroughs Corporation; U.S. Department of Defense; computer software industry; Linux operating system; free open-source software; GNU C compiler.