Cobol 1 Cobol
Total Page:16
File Type:pdf, Size:1020Kb
COBOL 1 COBOL COBOL Paradigm procedural, object-oriented Appeared in 1959 Designed by Grace Hopper, William Selden, Gertrude Tierney, Howard Bromberg, Howard Discount, Vernon Reeves, Jean E. Sammet Stable release COBOL 2002 (2002) Typing discipline strong, static Major OpenCOBOL, Micro Focus International implementations Dialects HP3000 COBOL/II, COBOL/2, IBM OS/VS COBOL, IBM COBOL/II, IBM COBOL SAA, IBM Enterprise COBOL, IBM COBOL/400, IBM ILE COBOL, Unix COBOL X/Open, Micro Focus COBOL, Microsoft COBOL, Ryan McFarland RM/COBOL, Ryan McFarland RM/COBOL-85, DOSVS COBOL, UNIVAC COBOL, Realia COBOL, Fujitsu COBOL, ICL COBOL, ACUCOBOL-GT, COBOL-IT, DEC COBOL-10, DEC VAX COBOL, Wang VS COBOL, Visual COBOL, Tandem (NonStop) COBOL85, Tandem (NonStop) SCOBOL (a COBOL74 variant for creating screens on text-based terminals) Influenced by FLOW-MATIC, COMTRAN, FACT Influenced PL/I, CobolScript, ABAP COBOL at Wikibooks COBOL (pronounced /ˈkoʊbɒl/) is one of the oldest programming languages. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments. The COBOL 2002 standard includes support for object-oriented programming and other modern language features.[1] History and specification The COBOL specification was created by a committee of researchers from private industry, universities, and government during the second half of 1959. The specifications were to a great extent inspired by the FLOW-MATIC language invented by Grace Hopper - commonly referred to as "the mother of the COBOL language." The IBM COMTRAN language invented by Bob Bemer was also drawn upon, but the FACT language specification from Honeywell was not distributed to committee members until late in the process and had relatively little impact. FLOW-MATIC's status as the only language of the bunch to have actually been implemented made it particularly attractive to the committee.[2] The scene was set on April 8, 1959 at a meeting of computer manufacturers, users, and university people at the University of Pennsylvania Computing Center. The United States Department of Defense subsequently agreed to sponsor and oversee the next activities. A meeting chaired by Charles A. Phillips was held at the Pentagon on May 28 and 29 of 1959 (exactly one year after the Zürich ALGOL 58 meeting); there it was decided to set up three committees: short, intermediate and long range (the last one was never actually formed). It was the Short Range Committee, chaired by Joseph Wegstein of the US National Bureau of Standards, that during the following months created a description of the first version of COBOL.[3] The committee was formed to recommend a short range approach to a common business language. The committee was made up of members representing six computer COBOL 2 manufacturers and three government agencies. The six computer manufacturers were Burroughs Corporation, IBM, Minneapolis-Honeywell (Honeywell Labs), RCA, Sperry Rand, and Sylvania Electric Products. The three government agencies were the US Air Force, the David Taylor Model Basin, and the National Bureau of Standards (now National Institute of Standards and Technology). The intermediate-range committee was formed but never became operational. In the end a sub-committee of the Short Range Committee developed the specifications of the COBOL language. This sub-committee was made up of six individuals: • William Selden and Gertrude Tierney of IBM • Howard Bromberg and Howard Discount of RCA • Vernon Reeves and Jean E. Sammet of Sylvania Electric Products[4] The decision to use the name "COBOL" was made at a meeting of the committee held on 18 September 1959. The subcommittee completed the specifications for COBOL in December 1959. The first compilers for COBOL were subsequently implemented during the year 1960 and on 6 and 7 December essentially the same COBOL program was run on two different makes of computers, an RCA computer and a Remington-Rand Univac computer, demonstrating that compatibility could be achieved. ANS COBOL 1968 After 1959 COBOL underwent several modifications and improvements. In an attempt to overcome the problem of incompatibility between different versions of COBOL, the American National Standards Institute (ANSI) developed a standard form of the language in 1968. This version was known as American National Standard (ANS) COBOL. COBOL 1974 In 1974, ANSI published a revised version of (ANS) COBOL, containing a number of features that were not in the 1968 version. COBOL 1985 In 1985, ANSI published still another revised version that had new features not in the 1974 standard, most notably structured language constructs ("scope terminators"), including END-IF, END-PERFORM, END-READ, etc. COBOL 2002 and object-oriented COBOL The language continues to evolve today. In the early 1990s it was decided to add object-orientation in the next full revision of COBOL. The initial estimate was to have this revision completed by 1997 and an ISO CD (Committee Draft) was available by 1997. Some implementers (including Micro Focus, Fujitsu, Veryant, and IBM) introduced object-oriented syntax based on the 1997 or other drafts of the full revision. The final approved ISO Standard (adopted as an ANSI standard by INCITS) was approved and made available in 2002. Like the C++ and Java programming languages, object-oriented COBOL compilers are available even as the language moves toward standardization. Fujitsu and Micro Focus currently support object-oriented COBOL compilers targeting the .NET framework.[5] The 2002 (4th revision) of COBOL included many other features beyond object-orientation. These included (but are not limited to): • National Language support (including but not limited to Unicode support) • Locale-based processing • User-defined functions • CALL (and function) prototypes (for compile-time parameter checking) • Pointers and syntax for getting and freeing storage • Calling conventions to and from non-COBOL languages such as C COBOL 3 • Support for execution within framework environments such as Microsoft's .NET and Java (including COBOL instantiated as Enterprise JavaBeans) • Bit and Boolean support • “True” binary support (up until this enhancement, binary items were truncated based on the (base-10) specification within the Data Division) • Floating-point support • Standard (or portable) arithmetic results • XML generation and parsing History of COBOL standards The specifications approved by the full Short Range Committee were approved by the Executive Committee on January 3, 1960, and sent to the government printing office, which edited and printed these specifications as Cobol 60. The American National Standards Institute (ANSI) produced several revisions of the COBOL standard, including: • COBOL-68 • COBOL-74 • COBOL-85 • Intrinsic Functions Amendment - 1989 • Corrections Amendment - 1991 After the Amendments to the 1985 ANSI Standard (which were adopted by ISO), primary development and ownership was taken over by ISO. The following editions and TRs (Technical Reports) have been issued by ISO (and adopted as ANSI) Standards: • COBOL 2002 • Finalizer Technical Report - 2003 • Native XML syntax Technical Report - 2006 • Object Oriented Collection Class Libraries - pending final approval... From 2002, the ISO standard is also available to the public coded as ISO/IEC 1989. Work is progressing on the next full revision of the COBOL Standard. It is expected to be approved and available in the early 2010s. For information on this revision, to see the latest draft of this revision, or to see what other works is happening with the COBOL Standard, see the COBOL Standards Website [6]. Legacy COBOL programs are in use globally in governmental and military agencies and in commercial enterprises, and are running on operating systems such as IBM's z/OS, the POSIX families (Unix/Linux etc.), and Microsoft's Windows as well as ICL's VME operating system and Unisys' OS 2200. In 1997, the Gartner Group reported that 80% of the world's business ran on COBOL with over 200 billion lines of code in existence and with an estimated 5 billion lines of new code annually.[7] Near the end of the twentieth century the year 2000 problem was the focus of significant COBOL programming effort, sometimes by the same programmers who had designed the systems decades before. The particular level of effort required for COBOL code has been attributed both to the large amount of business-oriented COBOL, as COBOL is by design a business language and business applications use dates heavily, and to constructs of the COBOL language such as the PICTURE clause, which can be used to define fixed-length numeric fields, including two-digit fields for years. COBOL 4 References [1] Oliveira, Rui (2006). The Power of Cobol. City: BookSurge Publishing. ISBN 0620346523. [2] Sammet, Jean (1978). " The Early History of COBOL (http:/ / portal. acm. org/ citation. cfm?id=1198367)". ACM SIGPLAN Notices (Association for Computing Machinery, Inc.) 13 (8): 121–161. [3] Garfunkel, Jerome (1987). The Cobol 85 Example Book. New York: Wiley. ISBN 0471804614. [4] Wexelblat, Richard (1981). History of Programming Languages. Boston: Academic Press. ISBN 0127450408. [5] NetCOBOL for .NET supports COBOL migration and software development in the .NET environment (http:/ / www. adtools. com/ products/ windows/ netcobol. html) [6] http:/ / www. cobolstandards. com [7] "What Professionals think of the Future of COBOL?" (http:/ / www. cobolportal. com/ developer/ future. asp?bhcp=1).