Many large financial institutions were developing new systems in the language as late as 2006,[10] but most programming in COBOL today is purely to maintain existing applications.
The COBOL code is split into four divisions (identification, environment, data, and procedure), containing a rigid hierarchy of sections, paragraphs, and sentences.
[18] Representatives included Grace Hopper (inventor of the English-like data processing language FLOW-MATIC), Jean Sammet, and Saul Gorn.
[19][20] At the April meeting, the group asked the Department of Defense (DoD) to sponsor an effort to create a common business language.
[25] Representatives enthusiastically described a language that could work in a wide variety of environments, from banking and insurance to utilities and inventory control.
The computer manufacturers were Burroughs Corporation, IBM, Minneapolis-Honeywell (Honeywell Labs), RCA, Sperry Rand, and Sylvania Electric Products.
[29] FLOW-MATIC's major contributions to COBOL were long variable names, English words for commands, and the separation of data descriptions and instructions.
"[41][1] IBM's COMTRAN language, invented by Bob Bemer, was regarded as a competitor to FLOW-MATIC[42][43] by a short-range committee made up of colleagues of Grace Hopper.
[44] Some of its features were not incorporated into COBOL so that it would not look like IBM had dominated the design process,[27] and Jean Sammet said in 1981 that there had been a "strong anti-IBM bias" from some committee members (herself included).
[47] Features from COMTRAN incorporated into COBOL included formulas,[48] the PICTURE clause,[49] an improved IF statement, which obviated the need for GO TOs, and a more robust file management system.
They fell short of expectations: Joseph Wegstein noted that "it contains rough spots and requires some additions," and Bob Bemer later described them as a "hodgepodge."
A reluctant short-term committee performed a total cleanup, and, by March 1963, it was reported that COBOL's syntax was as definable as ALGOL's, although semantic ambiguities remained.
They described new versions in 1968, 1969, 1970, and 1973, including changes such as new inter-program communication, debugging, and file merging facilities, as well as improved string handling and library inclusion features.
[84] In 1974, ANSI published a revised version of (ANS) COBOL, containing new features such as file organizations, the DELETE statement[85] and the segmentation module.
[90] Later that year, the Data Processing Management Association (DPMA) said it was "strongly opposed" to the new standard, citing "prohibitive" conversion costs and enhancements that were "forced on the user".
Some vendors (including Micro Focus, Fujitsu, and IBM) introduced object-oriented syntax based on drafts of the full revision.
[citation needed] COBOL programs are used globally in governments and businesses and are running on diverse operating systems such as z/OS, z/VSE, VME, Unix, NonStop OS, OpenVMS and Windows.
[114] Near the end of the 20th century, the year 2000 problem (Y2K) was the focus of significant COBOL programming effort, sometimes by the same programmers who had designed the systems decades before.
[117] The authors said that the survey data suggest "a gradual decline in the importance of COBOL in application development over the [following] 10 years unless ... integration with other languages and technologies can be adopted".
[121] By 2019, the number of COBOL programmers was shrinking fast due to retirements, leading to an impending skills gap in business and government organizations which still use mainframe systems for high-volume transaction processing.
Efforts to rewrite systems in newer languages have proven expensive and problematic, as has the outsourcing of code maintenance, thus proposals to train more people in COBOL are advocated.
[123] Similarly, the US Internal Revenue Service rushed to patch its COBOL-based Individual Master File in order to disburse the tens of millions of payments mandated by the Coronavirus Aid, Relief, and Economic Security Act.
[149] In addition, implementations of Report Writer ranged in quality, with those at the lower end sometimes using excessive amounts of memory at runtime.
More formally, if control passes through the exit point of a PERFORM invocation that was called earlier but has not yet completed, the COBOL 2002 standard stipulates that the behavior is undefined.
[153] COBOL 2014 has 47 statements (also called verbs),[154] which can be grouped into the following broad categories: control flow, I/O, data manipulation and the report writer.
Edsger Dijkstra, a preeminent computer scientist, wrote a letter to the editor of Communications of the ACM, published in 1975 entitled "How do we tell truths that might hurt?
[167] GO TOs were largely replaced by the PERFORM statement and procedures, which promoted modular programming[167] and gave easy access to powerful looping facilities.
Joseph T. Brophy, the CIO of Travelers Insurance, spearheaded an effort to inform COBOL users of the heavy reprogramming costs of implementing the new standard.
[181][182][183][184] The desire for readability led to the use of English-like syntax and structural elements, such as nouns, verbs, clauses, sentences, sections, and divisions.
Explicit file structure definitions preceded the development of database management systems and aggregated data was a significant advance over Fortran's arrays.