Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
Get a full dump of the dictionary:
List of Names
- Language type:
COBOL, the COmmon Business-Oriented Language,
has been in continuous widespread use since
the early 1960s. The name says it all; this
language was designed to meet the needs
of banks, manufacturers, bureaucracies, and
other big organizations with data handling
and report generation requirements. Its
verbose quasi-english syntax, and formidable
output formatting capabilities make
COBOL unique, and well-suited to its
A COBOL program normally consists of four
divisions: identification, environment,
data, and procedure. COBOL's environment division
is an attempt to make programs more portable
by forcing the programmer to enumerate all
in one place the
resources and facilities that the program
would require. Traditional
COBOL's feature set
is idiosyncratic: only static
data structures are supported,
numeric variables can be binary or
decimal, with extensive support for
range checking and output formatting,
extensive string manipulation support,
and simple flow-control constructs.
Record structures and arrays are the
primary means for organizing data,
but no pointers or references are
available. The language is very
often employed along with a database,
and most implementations include
extensive database support. COBOL's
support for complicated calculations
is modest, and some implementation don't
even support recursion.
COBOL was first defined in 1960, really
standardized by ANSI in 1974, and
the standard was revised in 1985. The
current standard is ISO/ANSI '85, but
a new standard is in review and
should be issued in 1998. The new
standard will have various OOP features
and more comprehensive computational
features. The intent is to modernize
COBOL while preserving the extensive
worldwide investment in COBOL software.
Several high-quality, mature commercial
COBOL compilers are available, mostly
for mainframe and Unix platforms. DOS
and Windows COBOL compilers also exist, but
there do not seem to be any free or
shareware compilers (not surprising
given the ANSI standard's size and
US DOD GPO, 1960; CODASYL Committee, 1960.
- See Also:
To a computer scientist trained with
languages like Pascal, Scheme, Fortran,
and C, a COBOL program seems remarkably
bloated and ineffectual.
It has been stated that there is more
COBOL code on our planet than any other
single language, and COBOL programming
is still taught in business schools
Adm. Grace Hopper is regarded as the primary progenitor
of COBOL; her pioneering work on business-oriented
computer languages in the 1950s (including FLOW-MATIC) was
instrumental in the definition of COBOL in 1959-60.
Businesses' huge investment in COBOL through
the 1970s, 80s, and early 90s has become a
huge potential problem with the approach of
the year 2000. COBOL's facilities for numeric
data storage, input, and output are heavily
oriented toward 'pictures', templates of the
presentation format of a number. Much of the
COBOL software written prior to about 1990 used
two decimal digits to represent the year in any
date. This creates a potentially catastropic
ambiguity in 2000. COBOL programming
expertise is in great demand as companies
scramble to assess and correct their legacy
- Sample code:
SELECT INP-DATA ASSIGN TO INPUT.
SELECT RESULT-FILE ASSIGN TO OUTPUT.
FD INP-DATA LABEL RECORD IS OMITTED.
02 ITEM PICTURE X(30).
02 PRICE PICTURE 9999V99.
02 FILLER PICTURE X(44).
FD RESULT-FILE LABEL RECORD IS OMITTED.
01 RESULT-LINE PICTURE X(132).
77 TOT PICTURE 999999V99, VALUE 0, USAGE IS COMPUTATIONAL.
77 COUNT PCITURE 9999, VALUE 0, USAGE IS COMPUTATIONAL.
02 FILLER VALUE ' SUM ='PICTURE X(12).
02 SUM-OUT PICTURE $$,$$$,$$9.99.
02 FILLER VALUE ' NO. OF ITEMS ='PICTURE X(21).
02 COUNT-OUT PICTURE ZZZ9.99.
02 ITEM-OUT PICTURE X(30).
02 PRICE-OUT PICTURE ZZZ9.99.
OPEN INPUT INP-DATA AND OUTPUT RESULT-FILE.
READ INP-DATA AT END GO TO PRINT-LINE.
ADD PRICE TO TOT.
ADD 1 TO COUNT.
MOVE PRICE TO PRICE-OUT.
MOVE ITEM TO ITEM-OUT.
WRITE RESULT-LINE FROM ITEM-LINE.
GO TO READ-DATA.
MOVE TOT TO SUM-OUT.
MOVE COUNT TO COUNT-OUT.
WRITE RESULT-LINE FROM SUM-LINE.
CLOSE INP-DATA AND RESULT-FILE.
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is firstname.lastname@example.org
[Ziring MicroWeb Home]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.