Information Technology Reference
In-Depth Information
also allow manufacturers to sell or lease more of their most recent (and
profi table) computers.
The COBOL language was deliberately organized in such a way as to
encourage portability from one machine to another. Every element of a
COBOL application was assigned to one of four functional divisions:
IDENTIFICATION, ENVIRONMENT, DATA, and PROCEDURE.
The IDENTIFICATION division offered a high-level description of
the program, including its name, author, and creation date. The
ENVIRONMENT division contained information about the specifi c
hardware on which the program was to be compiled and run. The DATA
division described the fi le and record layout of the data used or created
by the rest of application. The PROCEDURE division included the algo-
rithms and procedures that the user wished the computer to follow.
Ideally, this rigid separation of functional divisions would allow a user
to take a deck of cards from one machine to another without making
signifi cant alterations to anything but the ENVIRONMENT description.
In reality, this degree of portability was almost impossible to achieve in
real-world applications in which performance was a primary consider-
ation. For example, the most effi cient method of laying out a fi le for a
twenty-four-bit computer was not necessarily optimal for a thirty-six-bit
machine. Nevertheless, machine independence “was a major, if not the
major,” design objective of the Short-Range Committee. 35 Achieving this
objective proved diffi cult both technically and politically, and greatly
infl uenced both the design of the COBOL specifi cation and its subse-
quent reception within the computing community.
One of the greatest obstacles to achieving machine independence was
the computer manufacturers themselves. Each manufacturer wanted to
make sure that COBOL included only features that would run effi ciently
on their devices. For instance, a number of users wanted the language
to include the ability to read a fi le in reverse order. For those machines
that had a basic machine command to read a tape backward this was an
easy feature to implement. Even those computers without this explicit
capability could achieve the same functionality by backing the tape up
two records and then reading forward one. Although this potential
READ REVERSE command could therefore be logically implemented
by everyone, it signifi cantly penalized those devices without the
basic machine capability. It was therefore not included in the fi nal
specifi cation.
There were other compromises that were made for the sake of machine
independence. In order to maintain compatibility among different
Search WWH ::




Custom Search