Concepts of Programming Languages

(Sean Pound) #1

60 Chapter 2 Evolution of the Major Programming Languages


One of the overriding concerns at the meeting was that steps to create this
universal language should be taken quickly, as a lot of work was already being
done to create other business languages. In addition to the existing languages,
RCA and Sylvania were working on their own business applications languages.
It was clear that the longer it took to produce a universal language, the more
difficult it would be for the language to become widely used. On this basis, it
was decided that there should be a quick study of existing languages. For this
task, the Short Range Committee was formed.
There were early decisions to separate the statements of the language into
two categories—data description and executable operations—and to have state-
ments in these two categories be in different parts of programs. One of the debates
of the Short Range Committee was over the inclusion of subscripts. Many com-
mittee members argued that subscripts were too complex for the people in data
processing, who were thought to be uncomfortable with mathematical notation.
Similar arguments revolved around whether arithmetic expressions should be
included. The final report of the Short Range Committee, which was completed
in December 1959, described the language that was later named COBOL 60.
The language specifications for COBOL 60, published by the Government
Printing Office in April 1960 (Department of Defense, 1960), were described
as “initial.” Revised versions were published in 1961 and 1962 (Department of
Defense, 1961, 1962). The language was standardized by the American National
Standards Institute (ANSI) group in 1968. The next three revisions were standard-
ized by ANSI in 1974, 1985, and 2002. The language continues to evolve today.

2.6.4 Evaluation


The COBOL language originated a number of novel concepts, some of
which eventually appeared in other languages. For example, the DEFINE verb
of COBOL 60 was the first high-level language construct for macros. More
important, hierarchical data structures (records), which first appeared in Plan-
kalkül, were first implemented in COBOL. They have been included in most
of the imperative languages designed since then. COBOL was also the first
language that allowed names to be truly connotative, because it allowed both
long names (up to 30 characters) and word-connector characters (hyphens).
Overall, the data division is the strong part of COBOL’s design, whereas
the procedure division is relatively weak. Every variable is defined in detail in
the data division, including the number of decimal digits and the location of the
implied decimal point. File records are also described with this level of detail,
as are lines to be output to a printer, which makes COBOL ideal for printing
accounting reports. Perhaps the most important weakness of the original pro-
cedure division was in its lack of functions. Versions of COBOL prior to the
1974 standard also did not allow subprograms with parameters.
Our final comment on COBOL: It was the first programming language
whose use was mandated by the Department of Defense (DoD). This mandate
came after its initial development, because COBOL was not designed specifi-
cally for the DoD. In spite of its merits, COBOL probably would not have
Free download pdf