Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
COBOL
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History and specification== {| class="wikitable floatright" style="padding-left: 1.5em;" |+Timeline of COBOL language |- ! Year ! Informal name ! Official Standard |- | 1960 | COBOL-60 | {{n/a}} |- | 1961 | COBOL-61 | {{n/a}} |- | 1963 | COBOL-61 Extended | {{n/a}} |- | 1965 | COBOL-65 | {{n/a}} |- | 1968 | COBOL-68 | ANSI INCITS X3.23-1968 |- | 1974 | COBOL-74 | ANSI INCITS X3.23-1974 |- | 1985 | COBOL-85 | ANSI INCITS X3.23-1985<br />ISO/IEC 1989:1985 |- | 2002 | COBOL-2002 | ISO/IEC 1989:2002 |- | 2014 | COBOL-2014 | ISO/IEC 1989:2014 |- | 2023 | COBOL-2023 | ISO/IEC 1989:2023 |} ===Background=== In the late 1950s, computer users and manufacturers were becoming concerned about the rising cost of programming. A 1959 survey had found that in any data processing installation, the programming cost US$800,000 on average and that translating programs to run on new hardware would cost US$600,000. At a time when new [[Timeline of programming languages|programming languages were proliferating]], the same survey suggested that if a common business-oriented language were used, conversion would be far cheaper and faster.{{sfn|Beyer|2009|p=282}} On 8 April 1959, [[Mary K. Hawes]], a computer scientist at [[Burroughs Corporation]], called a meeting of representatives from academia, computer users, and manufacturers at the [[University of Pennsylvania]] to organize a formal meeting on common business languages.<ref>{{Cite journal|last=Gürer|first=Denise|date=1 June 2002|title=Pioneering Women in Computer Science|journal=SIGCSE Bull.|volume=34|issue=2|pages=175–180 |doi=10.1145/543812.543853 |s2cid=2577644|issn=0097-8418}}</ref> Representatives included [[Grace Hopper]] (inventor of the English-like data processing language [[FLOW-MATIC]]), [[Jean Sammet]], and [[Saul Gorn]].{{sfn|Beyer|2009|pp=281–282}}{{sfn|Sammet|1978a|p=200}} At the April meeting, the group asked the [[United States Department of Defense|Department of Defense]] (DoD) to sponsor an effort to create a common business language. The delegation impressed Charles A. Phillips, director of the Data System Research Staff at the DoD,<ref name = "Flahive, Texas Public Radio, 2019" >{{ cite web | url = https://www.tpr.org/post/how-cobol-still-powers-global-economy-60-years-old | title = How COBOL Still Powers The Global Economy At 60 Years Old | access-date = 19 July 2019 | first = Paul | last = Flahive | date = 24 May 2019 | website = [[Texas Public Radio]] | quote = (Grace Hopper) Nicknamed Grandma Cobol, the code was based on some of her earlier work. She said — after hearing the rumors — one of her collaborators went out and bought a granite tombstone. "He had the word COBOL cut in the front of it. Then he shipped it express collect to Mr. Phillips in the pentagon." The prank on Charles Phillips, a leader for the project at the defense department, got the attention of the powers that be and was a turning point she said. COBOL would go on to become the most widely used and longest lasting computer languages in history. | archive-url = https://web.archive.org/web/20190524035248/https://www.tpr.org/post/how-cobol-still-powers-global-economy-60-years-old | archive-date = 24 May 2019 | df = dmy-all }}</ref> who thought that they "thoroughly understood" the DoD's problems. The DoD operated 225 computers, had 175 more on order, and had spent over $200 million on implementing programs to run on them. Portable programs would save time, reduce costs, and ease modernization.{{sfn|Beyer|2009|p=283}} Charles Phillips agreed to sponsor the meeting, and tasked the delegation with drafting the agenda.{{sfn|Beyer|2009|p=284}} ===COBOL 60=== On 28 and 29 May 1959, a meeting was held at [[the Pentagon]] to discuss the creation of a common programming language for business (exactly one year after the Zürich [[ALGOL 58]] meeting). It was attended by 41 people and was chaired by Phillips.<ref>{{Cite journal | doi = 10.1109/MAHC.1985.10047| title = Early Meetings of the Conference on Data Systems Languages| journal = IEEE Annals of the History of Computing| volume = 7| issue = 4| pages = 316–325| year = 1985 | s2cid = 35625728}}</ref> The Department of Defense was concerned about whether it could run the same data processing programs on different computers. [[FORTRAN]], the only mainstream language at the time, lacked the features needed to write such programs.{{sfn|Sammet|2004|p=104}} Representatives enthusiastically described a language that could work in a wide variety of environments, from banking and insurance to utilities and inventory control. They agreed unanimously that more people should be able to program, and that the new language should not be restricted by the limitations of contemporary technology. A majority agreed that the language should make maximal use of English, be capable of change, be machine-independent, and be easy to use, even at the expense of power.{{sfn|Beyer|2009|p=286}} The meeting resulted in the creation of a [[steering committee]] and short, intermediate, and long-range committees. The short-range committee was given until September (three months) to produce specifications for an interim language, which would then be improved upon by the other committees.{{sfn|Conner|1984|p=ID/9}}{{sfn|Sammet|1978a|p=201}} Their official mission, however, was to identify the strengths and weaknesses of existing programming languages; it did not explicitly direct them to create a new language.{{sfn|Sammet|2004|p=104}} The deadline was met with disbelief by the short-range committee.{{sfn|Bemer|1971|p=132}} One member, [[Betty Holberton]], described the three-month deadline as "gross optimism" and doubted that the language really would be a stopgap.{{sfn|Beyer|2009|p=288}} The steering committee met on 4 June and agreed to name the entire activity the ''Committee on Data Systems Languages'', or [[CODASYL]], and to form an executive committee.{{sfn|Sammet|1978a|p=203}} The short-range committee members represented six computer manufacturers and three government agencies. The computer manufacturers were [[Burroughs Corporation]], [[IBM]], [[Honeywell|Minneapolis-Honeywell]] (Honeywell Labs), [[RCA]], [[Sperry Rand]], and [[Sylvania Electric Products]]. The government agencies were the [[US Air Force|U.S. Air Force]], the Navy's [[David Taylor Model Basin]], and the [[National Bureau of Standards]] (now the National Institute of Standards and Technology).{{sfn|CODASYL|1969|loc=§ I.2.1.1}} The committee was chaired by [[Joseph Wegstein]] of the U.S. National Bureau of Standards. Work began by investigating data descriptions, statements, existing applications, and user experiences.{{sfn|Sammet|1978a|p=204}} The committee mainly examined the [[FLOW-MATIC]], [[AIMACO]], and [[COMTRAN]] programming languages.{{sfn|Sammet|2004|p=104}}{{sfn|CODASYL|1969|loc=§ I.1.2}} The FLOW-MATIC language was particularly influential because it had been implemented and because AIMACO was a derivative of it with only minor changes.{{sfn|Beyer|2009|p=290}}<ref name=cisn>{{cite journal | last = Sammet | first = Jean | author-link = Jean Sammet | title = The Early History of COBOL | journal = ACM SIGPLAN Notices | volume = 13 | issue = 8 | pages = 121–161 | year = 1978 | doi =10.1145/960118.808378 | s2cid = 10743643 }}</ref> FLOW-MATIC's inventor, Grace Hopper, also served as a technical adviser to the committee.{{sfn|Bemer|1971|p=132}} FLOW-MATIC's major contributions to COBOL were long variable names, English words for commands, and the separation of data descriptions and instructions.{{sfn|Sammet|1978a|p=217}} Hopper is sometimes called "the mother of COBOL" or "the grandmother of COBOL",<ref>{{cite magazine |last=Adams|first=Vicki Porter|date=5 October 1981|title=Captain Grace M. Hopper: the Mother of COBOL |url=https://books.google.com/books?id=JT0EAAAAMBAJ&pg=RA1-PA33|magazine=InfoWorld|volume=3|issue=20|page=33 |issn=0199-6649}}</ref><ref>{{cite journal|last=Betts|first=Mitch|date=6 January 1992|title=Grace Hopper, mother of Cobol, dies|url=https://books.google.com/books?id=J-_T3bxgvMwC&pg=PA14|journal=Computerworld |volume=26|issue=1|page=14}}</ref><ref>{{cite book|last=Lohr|first=Steve|url=https://books.google.com/books?id=XfPLVx6qS_cC&pg=PA52|title=Go To: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Maverick Scientists, and Iconoclasts—The Programmers Who Created the Software Revolution|publisher=[[Basic Books]]|year=2008|isbn=978-0786730766|page=52}}</ref> although [[Jean Sammet]], a lead designer of COBOL, said Hopper "was not the mother, creator, or developer of Cobol."<ref>{{Cite news | url=https://www.irishtimes.com/life-and-style/people/pioneering-software-engineer-and-cobol-co-designer-1.3111332 |title=Pioneering software engineer and Cobol co-designer|newspaper=[[The Irish Times]] }}</ref><ref name="creators">{{Cite journal |last=Sammet|first=Jean E.|date=March 2000|title=The real creators of Cobol|journal=IEEE Software |volume=17|issue=2|pages=30–32|doi=10.1109/52.841602 |issn=1937-4194|quote=The Short-Range Committee worked diligently from June 1959 on, but there were great difficulties in having a fairly large committee try to create a programming language. In November, the Short-Range Committee chair appointed six people to develop specifications for consideration: William Selden and Gertrude Tierney (IBM), Howard Bromberg and Norman Discount (RCA), and Vernon Reeves and Jean E. Sammet (Sylvania Electric Products). We worked for two full weeks (including some round-the-clock sessions) in November 1959 and sent the proposed specifications to the full Short-Range Committee, which accepted almost all of them. After some editing (by the same six people), we turned in the specifications as a final report in December to the Executive Committee, which accepted them in January 1960. After some further editing, the Government Printing Office issued Cobol 60. [...] [Grace Hopper] did not participate in its work except through the general guidance she gave to her staff who were direct committee members. Thus, while her indirect influence was very important, regrettably the frequent repeated statements that "Grace Hopper developed Cobol" or "Grace Hopper was a codeveloper of Cobol" or "Grace Hopper is the mother of Cobol" are just not correct.}}</ref> IBM's COMTRAN language, invented by [[Bob Bemer]], was regarded as a competitor to FLOW-MATIC{{sfn|Beyer|2009|p=292}}{{sfn|Bemer|1971|p=131}} by a short-range committee made up of colleagues of Grace Hopper.{{sfn|Beyer|2009|p=296}} Some of its features were not incorporated into COBOL so that it would not look like IBM had dominated the design process,{{sfn|Conner|1984|p=ID/9}} and Jean Sammet said in 1981 that there had been a "strong anti-IBM bias" from some committee members (herself included).{{sfn|Sammet|1978a|p=221}} In one case, after Roy Goldfinger, author of the COMTRAN manual and intermediate-range committee member, attended a subcommittee meeting to support his language and encourage the use of algebraic expressions, Grace Hopper sent a memo to the short-range committee reiterating Sperry Rand's efforts to create a language based on English.{{sfn|Beyer|2009|p=291}} In 1980, Grace Hopper commented that "COBOL 60 is 95% FLOW-MATIC" and that COMTRAN had had an "extremely small" influence. Furthermore, she said that she would claim that work was influenced by both FLOW-MATIC and COMTRAN only to "keep other people happy [so they] wouldn't try to knock us out.".<ref name="Hopper Oral History">{{cite web | url=http://archive.computerhistory.org/resources/text/Oral_History/Hopper_Grace/102702026.05.01.pdf | title=Oral History of Captain Grace Hopper | publisher=[[Computer History Museum]] | date=December 1980 | access-date=28 June 2014 | page=37 | archive-url=https://web.archive.org/web/20171225202555/http://archive.computerhistory.org/resources/text/Oral_History/Hopper_Grace/102702026.05.01.pdf | archive-date=25 December 2017 | url-status=dead }}</ref> Features from COMTRAN incorporated into COBOL included formulas,{{sfn|Sammet|1978a|p=218}} the [[#PICTURE clause|{{code|PICTURE}} clause]],{{sfn|Marcotty|1978a|p=268}} an improved <code>IF</code> statement, which obviated the need for [[GO TO]]s, and a more robust file management system.{{sfn|Beyer|2009|p=292}} The usefulness of the committee's work was a subject of great debate. While some members thought the language had too many compromises and was the result of [[design by committee]], others felt it was better than the three languages examined. Some felt the language was too complex; others, too simple.{{sfn|Sammet|1978a|pp=205–206}} Controversial features included those some considered useless or too advanced for data processing users. Such features included [[Boolean expression]]s, [[formula]]s, and table ''{{dfn|subscripts}}'' (indices).{{sfn|Sammet|1978a|loc=Figure 8}}{{sfn|Sammet|1978a|pp=230–231}} Another point of controversy was whether to make keywords context-sensitive and the effect that would have on readability.{{sfn|Sammet|1978a|loc=Figure 8}} Although context-sensitive keywords were rejected, the approach was later used in [[PL/I]] and partially in COBOL from 2002.{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2001|p=846}} Little consideration was given to [[interactivity]], interaction with [[operating system]]s (few existed at that time), and functions (thought of as purely mathematical and of no use in data processing).{{sfn|Sammet|1978a|p=220}}{{sfn|Sammet|1978a|p=228}} The specifications were presented to the executive committee on 4 September. 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." The committee was given until December to improve it.{{sfn|Bemer|1971|p=132}} At a mid-September meeting, the committee discussed the new language's name. Suggestions included "BUSY" (Business System), "INFOSYL" (Information System Language), and "COCOSYL" (Common Computer Systems Language).{{sfn|Sammet|1978a|p=210}} It is unclear who coined the name "COBOL",{{sfn|Bemer|1971|p=132: ''We can't find a single individual who admits coining the acronym "COBOL"''}}{{sfn|Sammet|1978a|p=210: ''The next day, the name COBOL was finally agreed to as an acronym for COmmon Business Oriented Language. Unfortunately, my notes do not show who made that suggestion''}} although Bob Bemer later claimed it had been his suggestion.<ref>{{cite news | url=https://www.washingtonpost.com/wp-dyn/articles/A4138-2004Jun24.html | title=Computer Pioneer Bob Bemer, 84 | newspaper=The Washington Post | date=25 June 2004 | access-date=28 June 2014 | page=B06 | first=Patricia | last=Sullivan}}</ref><ref>{{cite web|url=http://www.bobbemer.com/arranga.htm|title=THE COBOL REPORT - Interview with Bob Bemer - the Father of COBOL|url-status=dead|archive-url=https://web.archive.org/web/20180402200259/http://www.bobbemer.com/arranga.htm|archive-date=2 April 2018}}</ref><ref>{{cite web|url=http://cobolreport.com/cobolreport/archives/TCR_bemer.htm|title=THE COBOL REPORT - Interview with Bob Bemer - the Father of COBOL|url-status=dead|archive-url=https://web.archive.org/web/20031223115509/http://cobolreport.com/cobolreport/archives/TCR_bemer.htm|archive-date=23 December 2003}}</ref> In October, the intermediate-range committee received copies of the [[FACT (computer language)|FACT]] language specification created by [[Roy Nutt]]. Its features impressed the committee so much that they passed a resolution to base COBOL on it.{{sfn|Beyer|2009|p=293}} This was a blow to the short-range committee, who had made good progress on the specification. Despite being technically superior, FACT had not been created with portability in mind or through manufacturer and user consensus. It also lacked a demonstrable implementation,{{sfn|Bemer|1971|p=132}} allowing supporters of a FLOW-MATIC-based COBOL to overturn the resolution. RCA representative Howard Bromberg also blocked FACT, so that RCA's work on a COBOL implementation would not go to waste.{{sfn|Beyer|2009|p=294}} It soon became apparent that the committee was too large to make any further progress quickly. A frustrated Howard Bromberg bought a $15 tombstone with "COBOL" engraved on it and sent it to Charles Phillips to demonstrate his displeasure.{{efn|The tombstone is currently at the [[Computer History Museum]].<ref>{{cite book | title=COBOL Tombstone | year=1960 | url=http://www.computerhistory.org/collections/catalog/X572.85 | publisher=Computer History Museum | access-date=29 June 2014}}</ref>}}<ref name="Tombstone story">{{cite journal | url=http://ed-thelen.org/comp-hist/TCMR-V13.pdf | title=The Story of the COBOL Tombstone | journal=The Computer Museum Report | date=Summer 1985 | access-date=29 June 2014 | volume=13 | pages=8–9 | archive-url=https://web.archive.org/web/20140403015336/http://ed-thelen.org/comp-hist/TCMR-V13.pdf | archive-date=3 April 2014 | url-status=live }}</ref>{{sfn|Bemer|1971|p=130}} A subcommittee was formed to analyze existing languages and was made up of six individuals:{{sfn|Sammet|2004|p=104}}{{sfn|Beyer|2009|p=289}} * William Selden and Gertrude Tierney of IBM, * Howard Bromberg and Howard Discount of RCA, * Vernon Reeves and [[Jean E. Sammet]] of Sylvania Electric Products. The subcommittee did most of the work creating the specification, leaving the short-range committee to review and modify their work before producing the finished specification.{{sfn|Sammet|2004|p=104}} The specifications were approved by the executive committee on 8 January 1960, and sent to the government printing office, which printed them as ''COBOL 60''. The language's stated objectives were to allow efficient, portable programs to be easily written, to allow users to move to new systems with minimal effort and cost, and to be suitable for inexperienced programmers.{{sfn|CODASYL|1969|loc=§ I.1.1}} The CODASYL Executive Committee later created the COBOL Maintenance Committee to answer questions from users and vendors and to improve and expand the specifications.{{sfn|Brown|1976|p=47}} During 1960, the list of manufacturers planning to build COBOL compilers grew. By September, five more manufacturers had joined CODASYL ([[Bendix Corporation|Bendix]], [[Control Data Corporation]], [[General Electric]] (GE), [[National Cash Register]], and [[Philco]]), and all represented manufacturers had announced COBOL compilers. GE and IBM planned to integrate COBOL into their own languages, GECOM and COMTRAN, respectively. In contrast, [[International Computers and Tabulators]] planned to replace their language, CODEL, with COBOL.{{sfn|Bemer|1971|p=133}} Meanwhile, RCA and Sperry Rand worked on creating COBOL compilers. The first COBOL program ran on 17 August on an RCA 501.{{sfn|Beyer|2009|p=297}} On 6 and 7 December, the same COBOL program (albeit with minor changes) ran on an RCA computer and a Remington-Rand [[Univac]] computer, demonstrating that compatibility could be achieved.<ref name="Williams12">{{cite book | url=https://books.google.com/books?id=KKmiw-_2gYIC&pg=PT124 | title=Grace Hopper: Admiral of the Cyber Sea | publisher=US Naval Institute Press | isbn=978-1612512655 | date=10 November 2012 | last=Williams | first=Kathleen Broome | oclc=818867202}}</ref> The relative influence of the languages that were used is still indicated in the recommended advisory printed in all COBOL reference manuals: {{blockquote|COBOL is an industry language and is not the property of any company or group of companies, or of any organization or group of organizations. No warranty, expressed or implied, is made by any contributor or by the CODASYL COBOL Committee as to the accuracy and functioning of the programming system and language. Moreover, no responsibility is assumed by any contributor or by the committee in connection therewith. The authors and copyright holders of the copyrighted material used herein are as follows: {{quote|style=font-size: inherit|FLOW-MATIC (trademark of [[Unisys Corporation]]), Programming for the UNIVAC (R) I and II, Data Automation Systems, copyrighted 1958, 1959, by Unisys Corporation; IBM Commercial Translator Form No. F28-8013, copyrighted 1959 by IBM; FACT, DSI 27A5260-2760, copyrighted 1960 by Minneapolis-Honeywell.}} They have specifically authorized the use of this material, in whole or in part, in the COBOL specifications. Such authorization extends to the reproduction and use of COBOL specifications in programming manuals or similar publications.<ref>Compaq Computer Corporation: ''Compaq COBOL Reference Manual'', Order Number: AA–Q2G0F–TK October 2000, Page xviii; Fujitsu Corporation: ''Net Cobol Language Reference'', Version 15, January 2009; IBM Corporation: ''Enterprise COBOL for z/OS Language Reference'', Version 4 Release 1, SC23-8528-00, December 2007</ref>}} ===COBOL-61 to COBOL-65=== {{quote box | quote=It is rather unlikely that Cobol will be around by the end of the decade. | width=30% | source=Anonymous, June 1960<ref>{{cite journal | url=https://books.google.com/books?id=CLbHc0Acrm4C&pg=RA1-PA67 | title=In defense of Cobol | journal=Computerworld | volume=18 | issue=24 | page=ID/19 | first=Jerome | last=Garfunkel | date=11 November 1984}}</ref> }} Many logical flaws were found in ''COBOL 60'', leading General Electric's [[Charles Katz]] to warn that it could not be interpreted unambiguously. 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.{{sfn|Bemer|1971|p=133}} Early COBOL compilers were primitive and slow. COBOL is a difficult language to write a compiler for, due to the large syntax and many optional elements within syntactic constructs, as well as the need to generate efficient code for a language with many possible data representations, implicit type conversions, and necessary set-ups for I/O operations.<ref>{{cite book |last=Pratt |first=Terrence W. |date=1975 |title=Programming Languages: Design and Implementation |location=Englewood Cliffs, New Jersey | publisher= Prentice Hall |isbn=0-13-730432-3 |pages=361–362, 381–382}}</ref> A 1962 US Navy evaluation found compilation speeds of 3–11 statements per minute. By mid-1964, they had increased to 11–1000 statements per minute. It was observed that increasing memory would drastically increase speed and that compilation costs varied wildly: costs per statement were between $0.23 and $18.91.{{sfn|Bemer|1971|p=134}} In late 1962, IBM announced that COBOL would be their primary development language and that development of COMTRAN would cease.{{sfn|Bemer|1971|p=134}} The COBOL specification was revised three times in the five years after its publication. COBOL-60 was replaced in 1961 by COBOL-61. This was then replaced by the COBOL-61 Extended specifications in 1963, which introduced the sort and report writer facilities.{{sfn|Brown|1976|p=48}} The added facilities corrected flaws identified by Honeywell in late 1959 in a letter to the short-range committee.{{sfn|Beyer|2009|p=297}} COBOL Edition 1965 brought further clarifications to the specifications and introduced facilities for handling [[mass storage]] files and [[table (information)|tables]].{{sfn|CODASYL|1969|loc=§ I.2.2.4}} ===COBOL-68=== Efforts began to standardize COBOL to overcome incompatibilities between versions. In late 1962, both ISO and the United States of America Standards Institute (now [[ANSI]]) formed groups to create standards. ANSI produced ''USA Standard COBOL X3.23'' in August 1968, which became the cornerstone for later versions.{{sfn|CODASYL|1969|loc=§ I.2.3}} This version was known as American National Standard (ANS) COBOL and was adopted by ISO in 1972.<ref name="FS2003">{{cite encyclopedia | url=http://dl.acm.org/citation.cfm?id=1074734 | title=Programming language standards | encyclopedia=Encyclopedia of Computer Science | publisher=Wiley | year=2003 | page=1467 | isbn=978-0470864128 | last1=Follet | first1=Robert H. | last2=Sammet | first2=Jean E. | author-link2=Jean E. Sammet | edition=4th | editor1-first=Anthony | editor1-last=Ralston | editor2-first=Edwin D. | editor2-last=Reilly | editor3-first=David | editor3-last=Hemmendinger |url-access=subscription }}</ref> ===COBOL-74=== By 1970, COBOL had become the most widely used programming language in the world.{{sfn|Beyer|2009|p=301}} Independently of the ANSI committee, the CODASYL Programming Language Committee was working on improving the language. 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 (computing)|library]] inclusion features.{{sfn|Brown|1976|p=49}} Although CODASYL was independent of the ANSI committee, the ''CODASYL Journal of Development'' was used by ANSI to identify features that were popular enough to warrant implementing.{{sfn|Brown|1976|p=52}} The Programming Language Committee also liaised with [[Ecma International|ECMA]] and the Japanese COBOL Standard committee.{{sfn|Brown|1976|p=49}} The Programming Language Committee was not well-known, however. The vice president, William Rinehuls, complained that two-thirds of the COBOL community did not know of the committee's existence. It also lacked the funds to make public documents, such as minutes of meetings and change proposals, freely available.<ref>{{cite journal | url=https://books.google.com/books?id=JBUJf4n2QxkC&pg=PT10 | title=Few Realise Wasted Resources of Local DP Schools | journal=Computerworld | volume=6 | issue=31 | pages=11 | first=Alan | last=Taylor | date=2 August 1972}}</ref> In 1974, ANSI published a revised version of (ANS) COBOL, containing new features such as [[#Files|file organizations]], the {{code|DELETE}} statement<ref>{{cite book | url=https://books.google.com/books?id=Cs1RAQAAIAAJ&pg=PA87 | title=Programming in COBOL: A Course of Twelve Television Lectures | publisher=Manchester University Press | year=1974 | page=87 | isbn=978-0719005923 | last=Triance | first=J. M.}}</ref> and the [[memory segmentation|segmentation]] module.{{Sfn|Klein|2010|p=16}} Deleted features included the {{code|NOTE}} statement, the {{code|EXAMINE}} statement (which was replaced by {{code|INSPECT}}), and the implementer-defined random access module (which was superseded by the new sequential and relative I/O modules). These made up 44 changes, which rendered existing statements incompatible with the new standard.<ref>{{cite report |section=1974 Standard (X3.23–1974) |title=Programming Language Standards—Who Needs Them? |date=May 1977 |url=http://apps.dtic.mil/dtic/tr/fulltext/u2/a039740.pdf |access-date=7 January 2014 |pages=19–21 |first1=George N. |last1=Baird |first2=Paul |last2=Oliver |publisher=[[United States Department of the Navy|Department of the Navy]] |archive-url= https://web.archive.org/web/20140107192439/http://www.dtic.mil/dtic/tr/fulltext/u2/a039740.pdf |archive-date=7 January 2014 |url-status=live}}</ref> The report writer was slated to be removed from COBOL but was reinstated before the standard was published.<ref>{{cite journal |url=https://books.google.com/books?id=8pMVcgpPyVMC&pg=PA17 |title='Spotty' Availability A Problem... |page=17 |date=23 July 1975 |last=Culleton | first=John R. Jr. |journal=Computerworld |volume=9 |issue=30}}</ref><ref>{{cite journal |url=https://books.google.com/books?id=X_3_D4RqzvIC&pg=PA20 |title=Does Cobol's Report Writer Really Miss the Mark? |journal=Computerworld |volume=9 |issue=25 |page=20 |first=Williams B. |last=Simmons |date=18 June 1975}}</ref> ISO later adopted the updated standard in 1978.<ref name="FS2003" /> ===COBOL-85=== In June 1978, work began on revising COBOL-74. The proposed standard (commonly called COBOL-80) differed significantly from the previous one, causing concerns about incompatibility and conversion costs. In January 1981, Joseph T. Brophy, Senior Vice-president of [[The Travelers Companies|Travelers Insurance]], threatened to sue the standard committee because it was not [[forward compatibility|upwards compatible]] with COBOL-74. Mr. Brophy described previous conversions of their 40-million-line code base as "non-productive" and a "complete waste of our programmer resources".<ref>{{cite journal | url=https://books.google.com/books?id=d514ApKzvjYC | title=User Threatens Suit Over Ansi Cobol-80 | journal=Computerworld | volume=15 | issue=4 | pages=1, 8 | first=Rita | last=Shoor | date=26 January 1981}}</ref> 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".<ref>{{cite journal | url=https://books.google.com/books?id=1REkdf3I86oC | title=DPMA Takes Stand Against Cobol Draft | journal=Computerworld | volume=15 | issue=43 | pages=1–2 | date=26 October 1981 | first=Rita | last=Shoor}}</ref><ref name="Computerworld 19 37">{{cite journal | url=https://books.google.com/books?id=zrOC44tBR68C&pg=PA8 | title=Revised Cobol standard may be ready in late '85 | journal=Computerworld | volume=19 | issue=37 | pages=1, 8 | first=John | last=Gallant | date=16 September 1985}}</ref> During the first public review period, the committee received 2,200 responses, of which 1,700 were negative form letters.<ref name="Computerworld Garfunkel">{{cite journal|url=https://books.google.com/books?id=zrOC44tBR68C&pg=PA41 | title=Expert addresses Cobol 85 standard | journal=Computerworld | volume=19 | issue=37 | pages=41, 48 | author=<!-- Staff writer(s); no by-line --> | date=16 September 1985}}</ref> Other responses were detailed analyses of the effect COBOL-80 would have on their systems; conversion costs were predicted to be at least 50 cents per line of code. Fewer than a dozen of the responses were in favor of the proposed standard.<ref>{{cite journal| url=https://books.google.com/books?id=Wz-oh7ZQo8MC | title=Responses to Cobol-80 Overwhelmingly Negative | journal=Computerworld | volume=16 | issue=11 | pages=1, 5 | date=15 March 1982 | first=Lois | last=Paul}}</ref> ISO TC97-SC5 installed in 1979 the international COBOL Experts Group, on initiative of [[Wim Ebbinkhuijsen]]. The group consisted of COBOL experts from many countries, including the United States. Its goal was to achieve mutual understanding and respect between ANSI and the rest of the world with regard to the need of new COBOL features. After three years, ISO changed the status of the group to a formal Working Group: [[ISO/IEC JTC 1/SC 22#History|WG 4 COBOL]]. The group took primary ownership and development of the COBOL standard, where ANSI made most of the proposals. In 1983, the DPMA withdrew its opposition to the standard, citing the responsiveness of the committee to public concerns. In the same year, a National Bureau of Standards study concluded that the proposed standard would present few problems.<ref name="Computerworld 19 37" /><ref>{{cite journal | url=https://books.google.com/books?id=Of5OA6T_6UIC&pg=PA1 | title=Study Sees Few Problems Switching to Cobol-8X | journal=Computerworld | volume=17 | issue=17 | pages=1, 6 | first=Lois | last=Paul | date=25 April 1983}}</ref> A year later, [[Digital Equipment Corporation|DEC]] released a [[VAX/VMS]] COBOL-80, and noted that conversion of COBOL-74 programs posed few problems. The new <code>EVALUATE</code> statement and inline <code>PERFORM</code> were particularly well received and improved productivity, thanks to simplified [[control flow]] and [[debugging]].<ref>{{cite journal | url=https://books.google.com/books?id=1qju5_k3q9AC&pg=PA1 | title=DEC users get head start implementing Cobol-80 | journal=Computerworld | volume=18 | issue=47 | pages=1, 6 | first=Paul | last=Gillin | date=19 November 1984}}</ref> The second public review drew another 1,000 (mainly negative) responses, while the last drew just 25, by which time many concerns had been addressed.<ref name="Computerworld 19 37"/> In 1985, the ISO Working Group 4 accepted the then-version of the ANSI proposed standard, made several changes and set it as the new ISO standard COBOL 85. It was published in late 1985. Sixty features were changed or deprecated and 115<ref>{{cite web |url=https://public.support.unisys.com/aseries/docs/clearpath-mcp-17.0/pdf/86001518-316.pdf |title=COBOL ANSI-85 Programming Reference Manual |author=ClearPath Enterprise Servers |date=April 2015 |website=public.support.unisys.com |publisher=Unisys |access-date=29 April 2022}}</ref> were added, such as:{{sfn|Garfunkel|1987|p=150}}<ref>{{cite book | url=https://books.google.com/books?id=N066w1XgJXcC&pg=PA438 | title=COBOL Programming: Problems and Solutions | publisher=McGraw-Hill Education | pages=438–451 | isbn=978-0074603185 | first1=M. K. | last1=Roy | first2=D. Ghost | last2=Dastidar | date=1 June 1989 | edition=2nd | section=Features of COBOL-85}}</ref> * Scope terminators (<code>END-IF</code>, <code>END-PERFORM</code>, <code>END-READ</code>, etc.) * Nested subprograms * <code>CONTINUE</code>, a [[Placeholder (Computer syntax)|no-operation statement]] * <code>EVALUATE</code>, a [[switch statement]] * <code>INITIALIZE</code>, a statement that can set groups of data to their default values * Inline <code>PERFORM</code> loop bodies – previously, loop bodies had to be specified in a separate procedure * Reference modification, which allows access to substrings * I/O status codes. The new standard was adopted by all national standard bodies, including ANSI.<ref name="FS2003"/> Two amendments followed in 1989 and 1993. The first amendment introduced intrinsic functions and the other provided corrections.<ref name="FS2003" /> ===COBOL 2002 and object-oriented COBOL=== In 1997, [[Gartner Group]] estimated that there were a total of 200 billion lines of COBOL in existence, which ran 80% of all business programs.{{efn |name=Gartner ubiquity}}<ref>{{cite web |url=http://fcw.com/Articles/2009/07/13/TECH-COBOL-turns-50.aspx |title=Cobol remains old standby at agencies despite showing its age |publisher=Public Sector Media Group |work=FCW |access-date=26 April 2014 |date=9 July 2009 |last=Robinson |first=Brian |archive-date=27 April 2014 |archive-url=https://web.archive.org/web/20140427010019/http://fcw.com/Articles/2009/07/13/TECH-COBOL-turns-50.aspx |url-status=dead }}</ref> In the early 1990s, work began on adding [[object-oriented programming]] in the next full revision of COBOL. Object-oriented features were taken from [[C++]] and [[Smalltalk]].<ref name="SW95">{{cite web |url=http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Website/articles/DDJ/1995/9510/9510e/9510e.htm |title=COBOL '97: A Status Report |work=Dr. Dobb's Journal |date=October 1995 |access-date=21 April 2014 |last1=Saade |first1=Henry |first2=Ann |last2=Wallace |archive-url=https://web.archive.org/web/20140422232229/http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Website/articles/DDJ/1995/9510/9510e/9510e.htm |archive-date=22 April 2014 |url-status=dead }}</ref><ref name="Arranga98">{{cite book |url=https://books.google.com/books?id=posN1cl6XFUC&pg=PA15 |title=Object-Oriented COBOL |publisher=[[Cambridge University Press]] |page=15 |isbn=978-0132611404 |first1=Edmund C. |last1=Arranga |first2=Frank P. |last2=Coyle |date=February 1998 |quote=Object-Oriented COBOL's style reflects the influence of Smalltalk and C++.}}</ref> The initial estimate was to have this revision completed by 1997, and an ISO Committee Draft (CD) was available by 1997. Some vendors (including [[Micro Focus International|Micro Focus]], [[Fujitsu]], and [[IBM]]) introduced object-oriented syntax based on drafts of the full revision. The final approved ISO standard was approved and published in late 2002.<ref name="cobolstandards.com">{{cite web |url=http://www.cobolstandards.com/ |title=COBOL Standards |access-date=2 September 2014 |archive-url=https://web.archive.org/web/20040331054413/http://www.cobolstandards.com/ |archive-date=31 March 2004 |publisher=Micro Focus |url-status=dead}}</ref> Fujitsu/GTSoftware,<ref>{{cite web |url=http://www.netcobol.com/product/netcobol-for-net/ |title=NetCOBOL for .Net |publisher=GTSoftware |work=netcobol.com |year=2013 |access-date=29 January 2014 |url-status=dead |archive-url=https://web.archive.org/web/20140708210107/http://www.netcobol.com/product/netcobol-for-net/ |archive-date=8 July 2014}}</ref> Micro Focus introduced object-oriented COBOL compilers targeting the [[.NET Framework]]. There were many other new features, many of which had been in the ''CODASYL COBOL Journal of Development'' since 1978 and had missed the opportunity to be included in COBOL-85.<ref>{{cite journal |url=https://books.google.com/books?id=VQhbdDusHcsC&pg=RA1-PA60 |title=A list of Codasyl Cobol features |journal=Computerworld |date=10 September 1984 |access-date=8 June 2014 |author=<!-- Staff writer(s); No by-line --> |page=ID/28 |volume=18 |issue=37}}</ref> These other features included:{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2001|loc=Annex F}}{{sfn|Klein|2010|p=21}} * Free-form code * [[User-defined function]]s * [[Recursion]] * [[Locale (computer software)|Locale]]-based processing * Support for extended character sets such as [[Unicode]] * [[Floating-point]] and [[binary number|binary]] data types (until then, binary items were truncated based on their declaration's [[base-10]] specification) * Portable arithmetic results *[[Bit]] and [[Boolean data type|Boolean]] data types * [[Pointer (computer programming)|Pointers]] and syntax for getting and freeing storage * The {{code|SCREEN SECTION}} for [[text-based user interface]]s * The {{code|VALIDATE}} facility * Improved interoperability with other programming languages and [[Application framework|framework environments]] such as .NET and [[Java (platform)|Java]]. Three [[Erratum|corrigenda]] were published for the standard: two in 2006 and one in 2009.<ref name="WG4 Website">{{cite web |url=http://www.cobolstandard.info/wg4/wg4.html |title=JTC1/SC22/WG4 – COBOL |publisher=ISO |date=30 June 2010 |access-date=27 April 2014 |archive-url=https://web.archive.org/web/20140214225220/http://www.cobolstandard.info/wg4/wg4.html |archive-date=14 February 2014 |url-status=dead}}</ref> ===COBOL 2014=== Between 2003 and 2009, three technical reports were produced describing [[finalizer|object finalization]], [[XML]] processing and [[collection class]]es for COBOL.<ref name="WG4 Website"/> COBOL 2002 suffered from poor support: no compilers completely supported the standard. Micro Focus found that it was due to a lack of user demand for the new features and due to the abolition of the [[NIST]] test suite, which had been used to test compiler conformance. The standardization process was also found to be slow and under-resourced.<ref>{{cite web | url=http://www.cobolstandard.info/j4/files/08-0034.pdf | title=Thoughts on the Future of COBOL Standardization | date=27 February 2008 | access-date=14 August 2014 | first1=John | last1=Billman | first2=Huib | last2=Klink | archive-url=https://web.archive.org/web/20090711032647/http://www.cobolstandard.info/j4/files/08-0034.pdf | archive-date=11 July 2009 | url-status=dead}}</ref> COBOL 2014 includes the following changes:{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2014|loc=Annex E}} * Portable arithmetic results have been replaced by [[IEEE 754]] data types * Major features have been made optional, such as the <code>VALIDATE</code> facility, the report writer and the screen-handling facility * [[Method overloading]] * Dynamic capacity tables (a feature dropped from the draft of COBOL 2002)<ref>{{cite web | url=http://www.microfocus.com/Standards/ | title=J4: COBOL Standardization | publisher=Micro Focus | date=2 December 1998 | access-date=12 July 2014 | archive-url=https://web.archive.org/web/19990224043617/http://www.microfocus.com/Standards/ | archive-date=24 February 1999 | url-status=dead | first=Don | last=Schricker}}</ref> ===COBOL 2023=== The COBOL 2023 standard added a few new features: * [[Asynchronous messaging]] syntax using the <code>SEND</code> and <code>RECEIVE</code> statements{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2023|loc=§ E.3.1}} * A [[transaction processing]] facility with <code>[[Commit (data management)|COMMIT]]</code> and <code>[[Rollback (data management)|ROLLBACK]]</code>{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2023|loc=§ E.3.1}} * <code>[[XOR]]</code> logical operator{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2023|loc=§ E.3.1}} * The <code>CONTINUE</code> statement can be extended as to pause the program for a specified duration{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2023|loc=§ E.3.2}} * A <code>DELETE FILE</code> statement{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2023|loc=§ E.3.2}} * <code>LINE SEQUENTIAL</code> file organization{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2023|loc=§ 12.4.4.9}} * Defined [[infinite loop]]ing with <code>PERFORM UNTIL EXIT</code>{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2023|loc=§ E.3.2}} * <code>SUBSTITUTE</code> intrinsic function allowing for [[String operations|substring substitution]] of different length{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2023|loc=§ E.3.2}} * <code>CONVERT</code> function for base-conversion{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2023|loc=§ E.3.2}} * [[Logical shift|Boolean shift]]ing operators{{sfn|ISO/IEC JTC 1/SC 22/WG 4|2023|loc=§ 8.7.2}} There is as yet no known complete implementation of this standard.{{citation needed|date=August 2023}}
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
COBOL
(section)
Add topic