Citizendia
Your Ad Here

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
Typing discipline strong, static
Major implementations http://www.opencobol.org/
Dialects 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, ACUCOBOL-GT, DEC VAX COBOL, Wang VS COBOL
Influenced by FLOW-MATIC, COMTRAN
Influenced PL/I

COBOL (pronounced /ˈkoʊbɒl/) is one of the oldest programming languages still in active use. A programming paradigm is a fundamental style of Computer programming. Procedural programming can sometimes be used as a synonym for Imperative programming (specifying the steps the program must take to reach the desired state but can also Object-oriented programming (OOP is a Programming paradigm that uses " objects " and their interactions to design applications and computer programs Rear Admiral Grace Murray Hopper ( December 9 1906 – January 1 1992) was an American Computer scientist and United Jean E Sammet (born 1928 is an American Computer scientist who developed the FORMAC programming language in 1962 In Computer science, a type system defines how a Programming language classifies values and expressions into '''types''', how it can In Computer science and Computer programming, the term strong typing is used to describe those situations where Programming languages specify one or more In Computer science, a type system defines how a Programming language classifies values and expressions into '''types''', how it can Implementation is the realization of an application or execution of a Plan, idea Model, Design, Specification, standard, Algorithm FLOW-MATIC, originally known as B-0 is possibly the first English-like Data Processing language COMTRAN (COMmercial TRANslator is an early Programming language developed at IBM. PL/I ("Programming Language One" ˌpiːˌɛlˈwʌn is an imperative computer Programming language designed for scientific engineering Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments. Acronyms, initialisms, and alphabetisms are Abbreviations that are formed using the initial components in a phrase or name A business (also called firm or an enterprise) is a legally recognized organizational entity designed to provide goods and/or services to

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

Contents

History and specification

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). The Pentagon is the Headquarters of the United States Department of Defense, located in Arlington County, Virginia. Charles Phillips refers to Charles Phillips (American football player Charles Phillips (businessman Charles Phillips (figure The United States Department of Defense ( DOD or DoD) is the federal department charged with coordinating and supervising all agencies and functions of the government Zürich (, Zürich German: Züri, Zurich, Zurigo; in English generally Zurich) is the largest city in Switzerland and capital of the ALGOL 58, originally known as IAL, is one of the family of ALGOL computer Programming languages It was an early compromise design soon superseded by [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. The six computer manufacturers were Burroughs Corporation, IBM, Minneapolis-Honeywell (Honeywell Labs), RCA, Sperry Rand, and Sylvania Electric Products. The Burroughs Corporation began in 1886 as the American Arithmometer Company in St International Business Machines Corporation abbreviated IBM and nicknamed "Big Blue", is a multinational Computer Technology Honeywell ( is a major American multinational conglomerate company that produces a variety of consumer products engineering services and aerospace systems RCA Corporation, founded as Radio Corporation of America, was an electronics company in existence from 1919 to 1986 Sperry Corporation (1910-1986 was a major American equipment and Electronics company whose existence spanned more than seven decades of the twentieth century Sylvania Electric Products was a US manufacturer of diverse electrical equipment including at various times radio transceivers Vacuum tubes, semiconductors and mainframe 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 David Taylor Model Basin is one of the largest Ship model basins &mdash test facilities for the development of ship design &mdash in the world 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 subcommittee completed the specifications for COBOL as the year of 1959 concluded. International Business Machines Corporation abbreviated IBM and nicknamed "Big Blue", is a multinational Computer Technology RCA Corporation, founded as Radio Corporation of America, was an electronics company in existence from 1919 to 1986 Jean E Sammet (born 1928 is an American Computer scientist who developed the FORMAC programming language in 1962 Sylvania Electric Products was a US manufacturer of diverse electrical equipment including at various times radio transceivers Vacuum tubes, semiconductors and mainframe 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. FLOW-MATIC, originally known as B-0 is 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 COMTRAN (COMmercial TRANslator is an early Programming language developed at IBM. Robert William Bemer ( February 8, 1920 &ndash June 22, 2004) was a computer scientist best known for his work at IBM during the late

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). CODASYL (often spelt Codasyl) is an Acronym for "Conference on Data Systems Languages" 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

From 2002, the ISO standard is also available to the public coded as ISO/IEC 1989

Defining features

COBOL as defined in the original specification included a PICTURE clause for detailed field specification. A picture clause is an element in Programming languages that is used to describe a Datum, by using sample characters that indicate the item characteristics and size It did not support local variables, recursion, dynamic memory allocation, or structured programming constructs. Structured programming can be seen as a subset or subdiscipline of Procedural programming, one of the major Programming paradigms It is most famous for removing or Support for some or all of these features has been added in later editions of the COBOL standard.

COBOL has many reserved words (over 400), called keywords. Reserved words (occasionally called keywords) are one type of grammatical construct in programming languages In Computer programming, a keyword is a Word or Identifier that has a particular meaning to the Programming language. The original COBOL specification supported self-modifying code via the infamous "ALTER X TO PROCEED TO Y" statement. In Computer science, self-modifying code is code that alters its own instructions, intentionally or otherwise while it is executing. This capability has since been removed.

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. z/OS is a 64-bit Operating system for Mainframe computers, created by IBM. Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft. POSIX (ˈpɒzɪks or "Portable Operating System Interface" is the collective name of a family of related standards specified by the IEEE to define Unix (officially trademarked as UNIX, sometimes also written as Unix with Small caps) is a computer Linux (commonly pronounced ˈlɪnəks ). 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. Gartner, Inc ( is an information technology research and advisory firm headquartered in Stamford, Connecticut. [4]

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 Year 2000 problem (also known as the Y2K problem, the millennium bug, the Y2K bug, or simply Y2K) was a notable Computer bug resulting 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.

Hello, world

       IDENTIFICATION DIVISION. 
       PROGRAM-ID.  HELLO-WORLD. 
       PROCEDURE DIVISION. 
       MAIN. 
           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". 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 "an individual selected for contributions of a technical nature made to the computing Edsger Wybe Dijkstra ( May 11, 1930 &ndash August 6, 2002; ˈɛtsxər ˈwibə ˈdɛɪkstra was a Dutch computer scientist [5]

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. The chief information officer ( CIO) is a job title for the board level head of Information technology within an organization The Travelers Companies ( is the second largest writer of commercial property casualty and personal Insurance in the United States. 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]

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 It is most famous for removing or

Others criticize the ad hoc incorporation of features on a language that was meant to be a short term solution to interoperability in 1959. Ad hoc is a Latin phrase which means "for this [ Purpose ]" 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. A glue language is a Programming language (usually a Scripting 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). Professor Michael Anthony Jackson (born 1936 works as an independent Computing consultant in London, England, and also as a part-time researcher at 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, one of the roots of the quadratic equation ax2 + bx + c = 0, which are:


x=\frac{-b \pm \sqrt {b^2-4ac\ }}{2a} ,

can be coded in COBOL using the "compute" verb as:

      COMPUTE X = (-B + (B ** 2 - (4 * A * C)) ** . In Mathematics, a quadratic equation is a Polynomial Equation of the second degree. 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. 

Older versions of COBOL supported 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. Also, local variables could be accomplished via separately compiled sub-programs. Newer COBOL compilers support the LOCAL-STORAGE section for local variables.

Syntactic features

COBOL provides an update-in-place syntax, for example

      ADD YEARS TO AGE. 

The equivalent construct in many procedural languages would be

      age = age + years

This syntax is similar to the compound assignment operator later adopted by C:

      age += years

The abbreviated conditional expression

      IF SALARY > 80000 OR SUPERVISOR-SALARY OR = PREV-SALARY

is equivalent to

      IF SALARY > 80000 OR SALARY > SUPERVISOR-SALARY OR SALARY = PREV-SALARY

COBOL provides "named conditions" (so-called 88-levels).

COBOL allows identifiers to be up to 30 characters long. When COBOL was introduced, much shorter lengths (e. g. , 6 characters for FORTRAN) were prevalent.

Data types

Standard COBOL provides the following data types:

Data type Sample declaration Notes
Character PIC X(20)
PIC A(4)9(5)X(7)
Alphanumeric and alphabetic-only
Single-byte character set (SBCS)
Edited character PIC X99BAXX Formatted and inserted characters
Numeric fixed-point binary PIC S999V99
USAGE COMPUTATIONAL
Binary 16, 32, or 64 bits (2, 4, or 8 bytes)
Signed or unsigned
Numeric fixed-point packed decimal PIC S999V99
USAGE PACKED-DECIMAL
1 to 18 decimal digits (1 to 10 bytes)
Signed or unsigned
Numeric fixed-point zoned decimal PIC S999V99 1 to 18 decimal digits (1 to 18 bytes)
Signed or unsigned
Numeric floating-point PIC S9V999ES99 Binary floating-point
Edited numeric PIC +Z,ZZ9. A data type in Programming languages is an attribute of a datum which tells the computer (and the programmer something about the kind of datum it is A picture clause is an element in Programming languages that is used to describe a Datum, by using sample characters that indicate the item characteristics and size In Computing and electronic systems binary-coded decimal ( BCD) is an encoding for decimal numbers in which each digit is represented by its own binary In Computing and electronic systems binary-coded decimal ( BCD) is an encoding for decimal numbers in which each digit is represented by its own binary 99
PIC $***,**9. 99CR
Formatted characters and digits
Group (record) 01 CUST-NAME. In Computer science, object composition (not to be confused with function composition) is a way and practice to combine simple objects or
  05 CUST-LAST PIC X(20).
  05 CUST-FIRST PIC X(20).
Aggregated elements
Table (array) OCCURS 12 TIMES Fixed-size array, row-major order
Up to 7 dimensions
Variable-length table OCCURS 0 to 12 TIMES
DEPENDING ON CUST-COUNT
Variable-sized array, row-major order
Up to 7 dimensions
Renames (variant or union data) 66 RAW-RECORD
  RENAMES CUST-RECORD
Character data overlaying other variables
Condition name 88 IS-RETIRED-AGE
  VALUES 65 THRU 150
Boolean value
dependent upon another variable
Array index USAGE INDEX Array subscript

Most vendors provide additional types, such as:

Data type Sample declaration Notes
Numeric fixed-point binary
in native byte order
PIC S999V99
USAGE COMPUTATIONAL-4
Binary 16, 32, or 64 bits (2, 4, or 8 bytes)
Signed or unsigned
Numeric fixed-point binary
in big-endian byte order
PIC S999V99
USAGE COMPUTATIONAL-5
Binary 16, 32, or 64 bits (2, 4, or 8 bytes)
Signed or unsigned
Wide character PIC G(20) Alphanumeric
Double-byte character set (DBCS)
Edited wide character PIC G99BGGG Formatted and inserted wide characters
Edited floating-point PIC +9. A table is both a mode of Visual communication and a means of arranging Data. In Computer science an array is a Data structure consisting of a group of elements that are accessed by indexing. In programming a Variable length array (or VLA) is an Array Data structure of automatic storage duration whose length is determined In Computer science, a tagged union, also called a variant variant record discriminated union, or Disjoint union, is a Data structure used In Computer science, a union is a Data structure that stores one of several types of data at a single location 9(6)E+99 Formatted characters and decimal digits
Data pointer USAGE POINTER Data memory address
Code pointer USAGE PROCEDURE-POINTER Code memory address

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. tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured C++ (" C Plus Plus " ˌsiːˌplʌsˈplʌs is a general-purpose Programming language. 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.

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; the succinct form would be "ADD 1 TO COBOL".

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. Reserved words (occasionally called keywords) are one type of grammatical construct in programming languages An increment is an increase either of some fixed amount for example added regularly or of a variable amount

COBOL 2002 and object-oriented COBOL

The COBOL2002 standard supports Unicode, XML generation and parsing, calling conventions to and 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 Enterprise JavaBeans). In Computing, Unicode is an Industry standard allowing Computers to consistently represent and manipulate text expressed in most of the world's Don't change "Extensible" tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured Enterprise JavaBeans&trade ( EJB) is a managed server-side component architecture for modular construction of enterprise applications However, no vendor has yet produced a completely conforming compiler. [7]

See also

Other third-generation programming languages

Other

References

  1. ^ Oliveira, Rui (2006). Algol (β Per / Beta Persei known colloquially as the Demon Star, is a bright Star in the Constellation Perseus. In Computer programming, BASIC (an Acronym for Beginner's All-purpose Symbolic Instruction Code) is a family of High-level programming languages tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured C++ (" C Plus Plus " ˌsiːˌplʌsˈplʌs is a general-purpose Programming language. C# (pronounced C Sharp is a Multi-paradigm Fortran (previously FORTRAN) is a general-purpose, procedural, imperative Programming language that is especially suited to Lisp (or LISP) is a family of Computer Programming languages with a long history and a distinctive fully parenthesized syntax Pascal is an influential imperative and procedural Programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small Object Pascal refers to a branch of object oriented derivatives of Pascal, mostly known as the primary Programming language of CodeGear Delphi PL/I ("Programming Language One" ˌpiːˌɛlˈwʌn is an imperative computer Programming language designed for scientific engineering RPG is a Programming language for business applications Originally an initialism for Report Program Generator, it officially no longer stands for anything Programming languages are used for controlling the behavior of a machine (often a Computer) The Burroughs B2000 series of computers was manufactured by Burroughs Corporation in Pasadena California, United States and was aimed straight at the business 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. Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. Events 1519 - Hernán Cortés enters Tenochtitlán and Aztec ruler Moctezuma welcomes him with great a Celebration
  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.  

Sources

External links

Robert Mitchell is the name of Robert Mitchell (Prince Edward Island politician, Canadian politician Robert C

Dictionary

COBOL

-noun

  1. (programming languages) A programming language developed in the late 1950s especially for business applications
© 2009 citizendia.org; parts available under the terms of GNU Free Documentation License, from http://en.wikipedia.org
Dapyx Software network: MP3 Explorer | Ebook Manager | Zenithic