FACTOID # 25: If you're tired of sitting in traffic on your way to work, move to North Dakota.

 Home Encyclopedia Statistics States A-Z Flags Maps FAQ About

 WHAT'S NEW RELATED ARTICLES People who viewed "COBOL" also viewed:

SEARCH ALL

Search encyclopedia, statistics and forums:

(* = Graphable)

Encyclopedia > COBOL
Paradigm: multi-paradigm 1959 Grace Hopper, William Selden, Gertrude Tierney, Howard Bromberg, Howard Discount, Vernon Reeves, Jean E. Sammet strong, static http://www.opencobol.org/ 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, ACUCOBOL-GT, DEC VAX COBOL, Wang VS COBOL FLOW-MATIC, COMTRAN PL/I

COBOL (pronounced /kəʊbɒl/) is a Third-generation programming language, and one of the oldest programming languages still in active use. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments. A programming paradigm is a paradigmatic style of programming (compare with a methodology, which is a paradigmatic style of doing software engineering). ... This does not cite any references or sources. ... Year 1959 (MCMLIX) was a common year starting on Thursday (link will display full calendar) of the Gregorian calendar. ... Rear Admiral Grace Murray Hopper (December 9, 1906 â€“ January 1, 1992) was an American computer scientist and United States Navy officer. ... Jean E. Sammet (1928 - ) is an American computer scientist who developed the FORMAC programming language. ... In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ... In computing, strongly-typed, when applied to a programming language, is used to describe how the language handles datatypes. ... On computer science, a datatype (often simply type) is a name or label for a set of values and some operations which can be performed on that set of values. ... Look up Implementation in Wiktionary, the free dictionary. ... A dialect of a programming language is a (relatively small) variation or extension of the language that does not change its intrinsic nature. ... FLOW-MATIC, Originally B-0, and possibly the first English-like Data Processing language. ... COMTRAN (COMmercial TRANslator) is a programming language which served as the forerunner to the COBOL language. ... PL/I (Programming Language One, pronounced pee el one) is an imperative computer programming language designed for scientific, engineering, and business applications. ... A third generation language (3GL) is a programming language designed to be easier for a human to understand, including things like named variables. ... It has been suggested that this article or section be merged with Backronym and Apronym (Discuss) Acronyms and initialisms are abbreviations, such as NATO, laser, and ABC, written as the initial letter or letters of words, and pronounced on the basis of this abbreviated written form. ... In economics, a business is a legally-recognized organizational entity existing within an economically free country designed to sell goods and/or services to consumers, usually in an effort to generate profit. ...

The COBOL 2002 standard includes support for object-oriented programming and other modern language features.[1] Object-oriented programming (OOP) is a programming paradigm that uses objects and their interactions to design applications and computer programs. ...

COBOL was initially created in 1959 by The Short Range Committee, one of three committees proposed at a meeting held at the Pentagon on May 28 and 29, 1959, organized by Charles Phillips of the United States Department of Defense (exactly one year after the Zürich ALGOL 58 meeting).[2] The Short Range Committee was formed to recommend a short range approach to a common business language. It was made up of members representing six computer manufacturers and three government agencies. In particular, 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 NIST). This committee was chaired by a member of the NBS. An Intermediate-Range Committee and a Long-Range Committee were proposed at the Pentagon meeting as well. However although the Intermediate Range Committee was formed, it was never operational; and the Long-Range Committee was never even formed. 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: This article is about the United States military building. ... Charles Phillips is President of Oracle Corporation and a member of the companys Board of Directors. ... This article does not cite any references or sources. ... For other uses of Zurich, see Zurich (disambiguation). ... ALGOL 58 is the first language in the ALGOL programming language family. ... William Seward Burroughs (1857-1898), US inventor William S. Burroughs (1914-1997), author and grandson of William Seward Burroughs Edgar Rice Burroughs (1875-1950), American author of Tarzan fame The Burroughs Corporation began in 1886 as the American Arithmometer Company in St. ... For other uses, see IBM (disambiguation) and Big Blue. ... Honeywell Heating Specialties Company Stock Certificate dated 1924 signed by Mark C. Honeywell - courtesy of Scripophily. ... RCA, formerly an acronym for the Radio Corporation of America, is now a trademark owned by Thomson SA through RCA Trademark Management S.A., a company owned by Thomson. ... The American company Univac began as the business computer division of Remington Rand formed by the purchase of the Eckert-Mauchly Computer Corporation (EMCC) in 1950. ... On the morning of July 2, 1956, an explosion involving scrap Thorium occurred at the Sylvania Electric Products Metallurgical Laboratory. ... Seal of the Air Force. ... The David Taylor Model Basin is one of the largest ship model basins &#8212; test facilities for the development of ship design &#8212; in the world. ... As a non-regulatory agency of the United States Department of Commerce&#8217;s Technology Administration, the National Institute of Standards (NIST) develops and promotes measurement, standards, and technology to enhance productivity, facilitate trade, and improve the quality of life. ... As a non-regulatory agency of the United States Department of Commerce&#8217;s Technology Administration, the National Institute of Standards (NIST) develops and promotes measurement, standards, and technology to enhance productivity, facilitate trade, and improve the quality of life. ...

This subcommittee completed the specifications for COBOL as the year of 1959 concluded. 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", and the IBM COMTRAN language invented by Bob Bemer. For other uses, see IBM (disambiguation) and Big Blue. ... RCA, formerly an acronym for the Radio Corporation of America, is now a trademark owned by Thomson SA through RCA Trademark Management S.A., a company owned by Thomson. ... Jean E. Sammet (1928 - ) is an American computer scientist who developed the FORMAC programming language. ... On the morning of July 2, 1956, an explosion involving scrap Thorium occurred at the Sylvania Electric Products Metallurgical Laboratory. ... FLOW-MATIC, Originally B-0, and possibly the first English-like Data Processing language. ... Rear Admiral Grace Murray Hopper (December 9, 1906 â€“ January 1, 1992) was an American computer scientist and United States Navy officer. ... COMTRAN (COMmercial TRANslator) is a programming language which served as the forerunner to the COBOL language. ... Robert William Bemer (February 8, 1920 â€“ June 22, 2004) was a computer scientist best known for his work at IBM during the late 1950s and early 1960s. ...

COBOL (Common Business Oriented Language) was one of the earliest high-level programming languages. It was developed in 1959 by a group of computer professionals called the Conference on Data Systems Languages (CODASYL). Since 1959 it has undergone 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. In 1974, ANSI published a revised version of (ANS) COBOL, containing a number of features that were not in the 1968 version. In 1985, ANSI published still another revised version that had new features not in the 1974 standard. The language continues to evolve today. Object-oriented COBOL is a subset of COBOL 97, which is the fourth edition in the continuing evolution of ANSI/ISO standard COBOL. COBOL 97 includes conventional improvements as well as object-oriented features. Like the C++ programming language, object-oriented COBOL compilers are available even as the language moves toward standardization.

## 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. Year 1960 (MCMLX) was a leap year starting on Friday (link will display full calendar) of the Gregorian calendar. ...

The American National Standards Institute (ANSI) has since produced several revisions of the COBOL standard, including The American National Standards Institute or ANSI (pronounced an-see) is a nonprofit organization that oversees the development of standards for products, services, processes and systems in the United States. ...

• COBOL-68
• COBOL-74
• COBOL-85
• COBOL 2002

## Defining features

COBOL as defined in the original specification included a PICTURE clause for detailed field specification. It did not support local variables, recursion, dynamic memory allocation, or structured programming constructs. Support for some or all of these features has been added in later editions of the COBOL standard. Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. ...

COBOL has many reserved words (over 400), called keywords. The original COBOL specification supported self-modifying code via the infamous "ALTER X TO PROCEED TO Y" statement. This capability has since been removed. In computer programming languages, a reserved word is a word which has a special grammatical meaning to a language and cannot be used as an identifier in that language. ... In computer science, a keyword is an identifier which indicates a specific command. ... In computer science, self-modifying code is code that alters its own instructions, whether or not it is on purpose, while it is executing. ...

## Legacy

COBOL programs are in use globally in governmental and military agencies, in commercial enterprises, and on operating systems such as IBM's z/OS, Microsoft's Windows, and the POSIX families (Unix/Linux etc.). In 1997, the Gartner Group reported that 80% of the world's business ran on COBOL with 180 billion lines of code in existence and with an estimated 5 billion lines of new code annually.[4] z/OS Welcome Screen seen through a terminal emulator The title of this article begins with a capital letter due to technical limitations. ... â€œWindowsâ€ redirects here. ... POSIX or Portable Operating System Interface[1] is the collective name of a family of related standards specified by the IEEE to define the application programming interface (API) for software compatible with variants of the Unix operating system. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIXÂ®) is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... This article is about operating systems that use the Linux kernel. ... Gartner, Inc. ...

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. This article is about the millennial computer glitch. ...

## Hello, world

` ` IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. PARAGRAPH-1. DISPLAY 'Hello, world.'. STOP RUN.` `

## Criticism

Critics have argued that COBOL's syntax serves mainly to increase the size of programs, at the expense of developing the thinking process needed for software development. In his letter to an editor in 1975 titled "How do we tell truths that might hurt?", computer scientist and Turing Award recipient Edsger Dijkstra remarked that "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense".[5] Year 1975 (MCMLXXV) was a common year starting on Wednesday (link will display full calendar) of the Gregorian calendar. ... The A.M. Turing Award is given annually by the Association for Computing Machinery to a person selected for contributions of a technical nature made to the computing community. ... Edsger Dijkstra Edsger Wybe Dijkstra (Rotterdam, May 11, 1930 â€“ Nuenen, August 6, 2002; IPA: ) was a Dutch computer scientist. ...

COBOL 85 was not compatible with earlier versions, resulting in the "cesarean birth of COBOL 85". Joseph T. Brophy, CIO, Travelers Insurance, spearheaded an effort to inform users of COBOL of the heavy reprogramming costs of implementing the new standard. As a result the ANSI COBOL Committee received more than 3,200 letters from the public, mostly negative, requiring the committee to make changes.[6] The chief information officer or CIO is a job title for the head of the information technology group within an organization. ... The St. ... The American National Standards Institute or ANSI (pronounced an-see) is a nonprofit organization that oversees the development of standards for products, services, processes and systems in the United States. ...

Older versions of COBOL lack local variables and so cannot truly support structured programming. In computer science, a local variable is a variable that is given local scope. ... Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. ...

Others criticize the ad hoc incorporation of features on a language that was meant to be a short term solution to interoperability in 1959. Coupled with the perceived archaic syntax, they argue that it tries to fill a niche for which better tools have already been designed and developed. Ad hoc is a Latin phrase which means for this [purpose]. It generally signifies a solution that has been tailored to a specific purpose, such as a tailor-made suit, a handcrafted network protocol, and specific-purpose equation and things like that. ... A glue language is a programming language used for connecting software components together. ...

## Defense

Advocates claim that typically those who criticize the language have never been COBOL programmers and often misrepresent it. Critic Edsger Dijkstra was also positively impressed by Michael A. Jackson's ideas about "Structured Programming" in COBOL (Jackson Structured Programming).[citation needed] Professor Michael Anthony Jackson (born 1936) works as an independent computing consultant in London, England, and also as a part-time researcher at AT&T Research, Florham Park, NJ, USA. He is a visiting research professor at the Open University in the UK. Jackson was educated at Harrow School where... Jackson Structured Programming or JSP is a method for structured programming based on correspondences between data stream structure and program structure. ...

The COBOL specification has also been revised over the years to incorporate developments in computing theory and practice .

As with any language, COBOL code can be made more verbose than necessary. For example the COBOL code for one of the roots

$x=frac{-b + sqrt {b^2-4ac }}{2a}.$

of the quadratic equation ax2 + bx + c = 0 can be written, using the "compute" verb, as: In mathematics, a quadratic equation is a polynomial equation of the second degree. ...

` ` COMPUTE X = (-B + (B ** 2 - (4 * A * C)) **.5) / (2 * A)` `

The same formula could also be written less concisely as:

` ` MULTIPLY B BY B GIVING B-SQUARED. MULTIPLY 4 BY A GIVING FOUR-A. MULTIPLY FOUR-A BY C GIVING FOUR-A-C. SUBTRACT FOUR-A-C FROM B-SQUARED GIVING RESULT-1. COMPUTE RESULT-2 = RESULT-1 ** .5. SUBTRACT B FROM RESULT-2 GIVING NUMERATOR. MULTIPLY 2 BY A GIVING DENOMINATOR. DIVIDE NUMERATOR BY DENOMINATOR GIVING X.` `

Which form to use is a matter of style. In some cases the less concise form may be easier to read. For example:

` ` ADD YEARS TO AGE. MULTIPLY PRICE BY QUANTITY GIVING COST. SUBTRACT DISCOUNT FROM COST GIVING FINAL-COST.` `

Newer versions of COBOL support local variables via embedded programs (scope-delimited by the keywords PROGRAM-ID and END-PROGRAM). Variables declared within the embedded program are invisible outside its scope. In older versions of COBOL local variables may be hidden by using sub-programs, which must be invoked (via the keyword CALL). The calling program will not have access to the variables declared and manipulated by the sub-program. This technique could result in an unwieldy mass of sub-programs, particularly if those are not well documented.

Another point to be made is that COBOL was one of the earliest high-level programming languages that allowed for fairly long identifiers (identifiers may to be up to 30 characters long), whereas other languages at the time were limited to short identifiers (e.g., FORTRAN compilers typically limited identifiers to six characters). Supporting longer identifiers allows programmers to use more descriptive names, and to reduce the risk that the same name is accidentally used in more than one context.

## Aphorisms and humor about COBOL

It has been said of languages like C, C++, and Java that the only way to modify legacy code is to rewrite it - write once and write once again; or write once and throw away. On the other hand, it has been said of COBOL that there actually is one original COBOL program, and it has only been copied and modified millions of times. C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... C++ (pronounced see plus plus, IPA: ) is a general-purpose programming language with high-level and low-level capabilities. ... â€œJava languageâ€ redirects here. ...

The name "ADD 1 TO COBOL GIVING COBOL" has been suggested for a hypothetical object-oriented dialect of COBOL, as a play on the name C++. While this is meant to suggest that COBOL is inherently verbose, the form given is more verbose than COBOL actually requires. COBOL allows adding a value or variable into another variable in the form ADD YEARS TO AGE. The values of the two variables are added together and the result placed into the variable after TO, if no GIVING is present. So the succinct form would be "ADD 1 TO COBOL". This is verbose when compared to "++" the increment operator in several programming languages, but much more English-like.

Another suggested name is "POSTINCREMENT COBOL BY 1", which not only reflects the verbose nature of COBOL statements, but also highlights the tendency for COBOL features to require their own dedicated reserved keywords (standard COBOL employs over 400 reserved words), this example being the case for a hypothetical new POSTINCREMENT operator. In computer programming languages, a reserved word is a word which has a special grammatical meaning to a language and cannot be used as an identifier in that language. ...

## COBOL 2002 and object-oriented COBOL

The COBOL2002 standard supports Unicode, XML generation and parsing, calling conventions to/from non-COBOL languages such as C, and support for execution within framework environments such as Microsoft's .NET and Java (including COBOL instantiated as EJBs). However, no vendor has yet produced a completely conforming compiler.[7] The Unicode Standard, Version 5. ... The Extensible Markup Language (XML) is a general-purpose markup language. ... C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... The Microsoft . ... â€œJava languageâ€ redirects here. ... The Enterprise Java Beans specification is one of the several Java APIs in the Java 2 Platform, Enterprise Edition. ...

### Other third-generation programming languages

It has been suggested that ALGOL object code be merged into this article or section. ... APL (for A Programming Language) is an array programming language based on a notation invented in 1957 by Kenneth E. Iverson while at Harvard University. ... This article is about the programming language. ... C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... C++ (pronounced see plus plus, IPA: ) is a general-purpose programming language with high-level and low-level capabilities. ... The title given to this article is incorrect due to technical limitations. ... Fortran (previously FORTRAN[1]) is a general-purpose[2], procedural,[3] imperative programming language that is especially suited to numeric computation and scientific computing. ... â€œJava languageâ€ redirects here. ... Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ... Pascal is a structured imperative computer programming language, developed in 1970 by Niklaus Wirth as a language particularly suitable for structured programming. ... PL/I (Programming Language One, pronounced pee el one) is an imperative computer programming language designed for scientific, engineering, and business applications. ... RPG is a native programming language for IBMs iSeries servers - the latest generation of midrange servers which included System/38, System/36, AS/400, iSeries and System i5 systems. ...

### Other

Programming languages are used for controlling the behavior of a machine (often a computer). ... The Burroughs B2000 series of machines was manufactured by Burroughs Corporation in Pasadena, California and was aimed straight at the business world. ...

## References

1. ^ Oliveira, Rui (2006). The Power of Cobol. City: BookSurge Publishing. ISBN 0620346523.
2. ^ Garfunkel, Jerome (1987). The Cobol 85 Example Book. New York: Wiley. ISBN 0471804614.
3. ^ Wexelblat, Richard (1981). History of Programming Languages. Boston: Academic Press. ISBN 0127450408.
4. ^ Future of COBOL (PDF) 5. LegacyJ Corporation (2003). Retrieved on 2006-11-08.
5. ^ Dijkstra (2006). E. W. Dijkstra Archive: How do we tell truths that might hurt? (EWD498) (English). University of Texas at Austin. Retrieved on August 29, 2007.
6. ^ (The COBOL 85 Example Book)
7. ^ Stern, Nancy (2003). Cobol for the 21st Century. New York: Wiley. ISBN 0471073210.

Year 2006 (MMVI) was a common year starting on Sunday of the Gregorian calendar. ... is the 312th day of the year (313th in leap years) in the Gregorian calendar. ...

## Sources

• Ebbinkhuijsen, Wim B.C., COBOL Alphen aan den Rijn/Diegem: Samson Bedrijfsinformatie bv, 1990. ISBN 90-14-04560-3. (Dutch)

Results from FactBites:

 COBOL - Wikipedia, the free encyclopedia (1301 words) COBOL is a third-generation programming language, and one of the oldest programming languages still in active use. COBOL was initially created in 1959 by The Short Range Committee, one of three committees proposed at a meeting held at the Whitehouse on May 28 and 29, 1959, organized by Charles Phillips of the United States Department of Defense (exactly one year after the Zurich ALGOL meeting). COBOL programs are in use globally in governmental and military agencies, in commercial enterprises, and on operating systems such as IBM's z/OS, Microsoft's Windows, and the Unix/Linux families.
More results at FactBites »

Share your thoughts, questions and commentary here