|
The COBOL Resource – Directory & Links
From Mainframes.in – Home of Legacy & Mainframes Online
|
|
The COBOL Programming section of Mainframes.in provides a listing of WWW resources for Cobol programming & development. Mainframes.in is a comprehensive online resource for legacy and mainframe systems.
..
..
Add Links: If you have a web site that you wish to include in this directory, do let us know the details by sending a note about your URL to narsi@esource.in. We’ll quickly review the web site, and if found relevant, add it to the database. We look forward to web site owners and link exchange partners to submit URL. Thanks!
Content derived from Wikipedia article on COBOL
COBOL From Wikipedia, the free encyclopedia
COBOL Paradigm: multi-paradigm Appeared in: 1959 Designed by: William Selden, Gertrude Tierney, Howard Bromberg, Howard Discount, Vernon Reeves, Jean E. Sammet Typing discipline: strong, static Major implementations: http://www.opencobol.org/ Dialects: 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 Influenced by: FLOW-MATIC, COMTRAN Influenced: PL/I
COBOL 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.
The COBOL 2002 standard includes support for object-oriented programming and other modern language features.
Contents
1 Prehistory and specification 2 History of COBOL standards 3 Defining features 4 COBOL legacy 5 Hello world 6 Criticism 7 Defense 8 Aphorisms and humor about COBOL 9 COBOL 2002 and Object-Oriented COBOL 10 Trivia 11 See also 11.1 Other third-generation programming languages 11.2 Other 12 References 13 External links
Prehistory 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 Zurich ALGOL 58 meeting). 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:
William Selden and Gertrude Tierney of IBM Howard Bromberg and Howard Discount of RCA Vernon Reeves and Jean E. Sammet of Sylvania Electric Products This subcommittee completed the specifications for COBOL as the year of 1959 came to an end. 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.
History of COBOL standards The specifications approved by the full Short Range Committee were approved by the Executive Committee on January 3 1960, and sent to the government printing office, which edited and printed these specifications as Cobol 60.
The American National Standards Institute (ANSI) has since produced several revisions of the COBOL standard, including
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.
COBOL has many reserved words, called keywords. The original COBOL specification supported self-modifying code via the famous "ALTER X TO PROCEED TO Y" statement. This capability has since been removed.
COBOL 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 Unix/Linux families. In the late 1997, the Gartner Group, reported that 80% of the world's business ran on COBOL with 180 billion lines of code in existance and with an estimated 5 billion lines of new code annually.[1]
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.
Hello world IDENTIFICATION DIVISION. Program-Id. Hello-World. * ENVIRONMENT DIVISION. * DATA DIVISION. * PROCEDURE DIVISION. Para1. 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 Edsger Dijkstra remarked that "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence" (from Selected Writings on Computing: A Personal Perspective).
Other critics complained about the costly obsolescence of existing production programs because of incompatibilities between new and old versions of COBOL. The COBOL 85 controversy gave rise to 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 3200 letters from the public, mostly negative, requiring the ANSI COBOL Committee to make changes. (The COBOL 85 Example Book)
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).
The COBOL specification has also been revised over the years to incorporate developments in computing theory and practice .
As far as COBOL's syntax, modern COBOL compilers are generally not case sensitive, but will capitalize all keywords prior to parsing.
As with any language, COBOL code can be made more verbose than necessary. For example the COBOL code for the quadratic equation
can be written, using the "compute" verb, as:
COMPUTE X = (-B + (B ** 2 - (4 * A * C)) **.5) / (2 * A) The same formula can 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. Due to compile-time optimising, replacing a series of explicit arithmetic steps with a single COMPUTE statement can result in unexpected imprecision, especially when the calculation involves the mixing of REAL and INTEGER data types (as in this example) and is a primary reason not to do it. This behaviour is of course machine and compiler dependent.
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 only has 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.
Alternative expansions of the COBOL acronym have been suggested:
Compiles Only Because Of Luck Compiles Only By Odd Luck Completely Obsolete Business Oriented Language Completely Over and Beyond reason Or Logic
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 conformant compiler.
Trivia The Tao of Programming (by Geoffrey James), when talking about the place of languages within the Tao says: "...but do not program in COBOL if you can avoid it."
See also
Other third-generation programming languages ALGOL APL BASIC FORTRAN Lisp PL/I RPG C C++ Java C# Pascal
Other Comparison of programming languages
References Sammet, J.E. (1981). "The Early History of COBOL." In History of Programming Languages, by Wexelblat, R.L., ed. New York: ACM Monograph Series. Edsger W. Dijkstra How do we tell truths that might hurt? ^ Garfunkel, Jerome [1987]. “Caesarean Birth of COBOL 85”, The COBOL 85 Example Book. United States and Canada: John Wiley & Sons. ISBN 0-471-80461-4. ^ Future of COBOL (PDF) pp. 5. LegacyJ Corporation (2003). Retrieved on 2006-11-08.
External links COBOL-Standard Committee COBOL Tutorial IBM COBOL including Mainframe (zOS) OpenCOBOL: Open-source COBOL compiler Description from another wiki Cobol User's Group has an extensive collection of links Article "Cobol: Not Dead Yet" by Robert Mitchell Article "Cobol Coders: Going, Going, Gone?" by Gary Anthes Retrieved from http://en.wikipedia.org/wiki/COBOL
End of Wikipedia content, http://en.wikipedia.org/wiki/COBOL
Content derived from Wikipedia category for COBOL
Category:COBOL From Wikipedia, the free encyclopedia
Pages in category "COBOL" There are 9 pages in this section of this category.
COBOL B BLIS/COBOL Burroughs B2000 C COBOL ReSource CODASYL CobolScript Copybook F FLOW-MATIC Y Year 2000 problem
End of Wikipedia content, http://en.wikipedia.org/wiki/Category:COBOL
COBOL Directory & Resources @ Mainframes.in
..
..
Main Sections @ Mainframes.in
Legacy Operating Systems > Midrange, Mainframe Legacy Databases > DB2, IMS DB/DC, VSAM, CA/IDMS, Unidata Legacy Programming & Development
Legacy Hardware > Mainframe Hardware, Midrange Hardware
Legacy & Non-legacy > Legacy & Contemporary OS, Legacy & Contemporary Databases, Legacy & Networking, Legacy & Contemporary Programming Languages, Legacy & Mainframe Migration
Other IT Resources
eIT.in – IT & Software Directory & Resources
Software > Operating Systems, Databases, Programming & Development, Mainframe & Legacy, Internet & Web
Hardware, Networking & Communications, IT Strategy & Design, IT in Industries, IT in Functions, IT Infrastructure, Tech Support, IT Industry & Trade Network, IT News & Updates
Mainframes.in provides directory and web links resources for the legacy, mainframes and midrange systems. It is intended to be useful for mainframe programmers & developers, midrange programmer & developer, legacy & mainframe databases software development, administrators & DBAs, application developers, mainframe strategy architect, legacy design specialists and architects, mainframe & legacy migration consultants and analysts, administration, maintenance & support professionals, mainframe & legacy outsourcing consultant, legacy solutions programming developers & coders, project management & functional analyst, and for mainframe, midrange, system administrators, testing & quality control engineers. It will make an effort to provide resources on tutorial/tutorials, guide/guides, tips, faq/faqs on these mainframe and legacy topics.
Reference
GeoDig – Get Local!
Have you checked out the GeoDig directories for over 30 countries? GeoDig provides useful local and regional web resources for over 200 cities around the world. See the list of cities and countries for which GeoDig provides locality-specific web resources.
North America USA - Alabama (AL) > Birmingham; Alaska; Arkansas (AR) > Little Rock; Arizona (AZ) > Phoenix, Las Vegas, Tucson; California (CA) > Los Angeles, San Francisco, Sacramento, Fresno, Bakersfield; Colorado, CO > Denver; Connecticut, CT > Hartford; District of Columbia, DC > Washington DC; Delaware (DE) > Wilmington; Florida > Miami, Orlando, Tampa, Orlando, Sarasota, West Palm Beach, Jacksonville; Georgia > Atlanta; Hawaii > Honolulu; Idaho; Illinois > Chicago; Indiana > Indianapolis; Iowa; Kansas (KS); Kentucky (KY) > Louisville; Louisiana (LA) > New Orleans, Baton Rouge; Maine; Maryland (MD) > Baltimore; Massachusetts > Boston, Springfield; Michigan > Detroit, Grand Rapids; Minnesota > Minneapolis-St. Paul; Mississippi (MS); Missouri (MO) > Kansas City, St. Louis; Montana; Nebraska (NE) > Omaha; Nevada (NV) > Las Vegas; New Hampshire; New Jersey (NJ) > Jersey City, Newark; New Mexico (NM) > Albuquerque; New York > New York, Buffalo, Rochester, Albany, Syracuse; North Carolina (NC) > Raleigh-Durham, Charlotte, Greensboro; North Dakota; Ohio> Columbus, Cincinnati, Cleveland, Toledo, Youngstown, Dayton; Oklahoma (OK) > Oklahoma City, Tulsa; Oregon > Portland; Pennsylvania > Philadelphia, Allentown, Pittsburgh, Harrisburg, Scranton, ; Rhode Island (RI) > Providence; South Carolina (SC) > Greenville; South Dakota; Tennessee (TN) > Knoxville, Memphis, Nashville; Texas > Austin, Dallas, Houston, San Antonio, El Paso, Austin, McAllen; Utah (UT) > Salt Lake City; Vermont; Virginia (VA) > Norfolk, Richmond; Washington > Seattle; West Virginia; Wisconsin (WI) > Milwaukee; Wyoming Canada - Vancouver, Montreal, Toronto, Calgary, Ottawa-Gatineau, Edmonton, Quebec City, Winnipeg, Hamilton, London
Europe - UK - London, Glasgow, Manchester, Birmingham, Liverpool, Sheffield, Leeds, Bristol, Edinburgh, Leicester; France - Paris, Marseille, Lyon, Toulouse, Nice, Nantes, Strasbourg, Montpellier, Bordeaux; Germany - Frankfurt (Frankfurt am Main), Munich (München), Berlin, Düsseldorf, Hamburg, Cologne (Köln), Essen, Dortmund, Stuttgart, Bremen, Duisburg, Hannover, Nürnberg (Nuremberg), Dresden, Leipzig; Italy - Milan (Milano), Rome (Roma), Napoli (Naples), Torino (Turin), Palermo, Bologna, Firenze (Florence), Genova (Genoa); Spain - Madrid, Barcelona, Valencia, Sevilla, Zaragoza, Malaga, Murcia, Las Palmas, Bilbao; Scandinavia - Finland - Helsinki (Helsingin), Espoo, Tampere (Tampereen), Vantaa, Turku, Oulu, Sweden - Stockholm, Goteborg (Göteborg), Malmo (Malmö), Uppsala, Vasteras (Västerås), Denmark - Copenhagen (Københavns), Aarhus (Århus), Odense, Aalborg (Ålborg), Norway - Oslo, Bergen, Stavanger, Trondheim; Benelux - Belgium - Brussels (Brussel), Antwerp (Antwerpen), Ghent (Gent, Gand), Charleroi, Liège (Liege), Netherlands - Amsterdam, Rotterdam, Utrecht, Eindhoven, Tilburg, ‘s-Gravenhage (sGravenhage), Groningen, Luxembourg - Luxembourg City; Portugal – Lisbon; Greece – Athens; Hungary – Budapest; Poland – Warsaw; Switzerland - Zürich (Zurich), Geneva (Geneve, Genève), Basel, Bern (Berne), Lausanne; Austria - Linz, Vienna (Wien), Graz, Linz, Salzburg, Innsbruck; Ireland – Dublin
Asia - India - Mumbai, New Delhi, Bangalore; China & Hong Kong - Hong Kong, Beijing, Shanghai, Tianjin, Wuhan, Shenyang, Guangzhou, Harbin, Xian; Japan - Tokyo, Osaka, Yokohama, Nagoya, Sapporo, Kyoto, Kobe, Fukuoka, Kawasaki, Hiroshima; South Korea - Seoul, Pusa, Taegu, Incheon, Taejeon, Taiwan - Taipei; Malaysia - Kuala Lumpur; Singapore; Russia - Moscow, St Petersburg
Middle East - Turkey - Istanbul, Israel - Tel Aviv
Oceania - Australia - Sydney, Melbourne, Brisbane, Perth, Adelaide
Africa - South Africa - Johannesburg, Cape Town, Durban
|
Web Co-ordinator: Narasimhan Santhanam ( narsi@esource.in )
© 2004 – 05, From Mainframes.in – Home of Legacy & Mainframes Online