Share to: share facebook share twitter share wa share telegram print page

COBOL

COBOL
编程范型过程式编程, 指令式編程, 面向对象程序设计
設計者Howard Bromberg, Norman Discount, Vernon Reeves, 珍·薩姆梅特英语Jean E. Sammet, William Selden, Gertrude Tierney
實作者美國數據系統語言協會英语CODASYL美國國家標準協會國際標準化組織
发行时间1959年,​65年前​(1959
当前版本
編輯維基數據鏈接
型態系統強弱型別類型系統
文件扩展名.cbl, .cob, .cpy
主要實作產品
GnuCOBOL, IBM COBOL英语IBM COBOL, Micro Focus Visual COBOL
衍生副語言
ACUCOBOL-GT, COBOL-IT, COBOL/2, DEC COBOL-10, DEC VAX COBOL, DOSVS COBOL, Fujitsu COBOL, Hitachi COBOL2002, HP3000 COBOL/II, IBM COBOL SAA, IBM COBOL/400, IBM COBOL/II, IBM Enterprise COBOL, IBM ILE COBOL, IBM OS/VS COBOL, ICL COBOL, isCOBOL, Micro Focus COBOL, Microsoft COBOL, Realia COBOL, Ryan McFarland RM/COBOL, Ryan McFarland RM/COBOL-85, Tandem (NonStop) COBOL85, Tandem (NonStop) SCOBOL, UNIVAC COBOL, Unisys MCP COBOL74, Unisys MCP COBOL85, Unix COBOL X/Open, Visual COBOL, Wang VS COBOL

COBOL/ˈkbɒl/),其名稱來自於通用商業語言[2](英語:Common Business Oriented Language,又譯為面向常規業務型語言/常規商業信息處理語言)的縮寫,是最早的高階程式語言、以及是世界上最早實施標準化計算機語言之一。屬於編譯語言

历史

1959年5月,美國國防部委託葛麗絲·霍普博士領導一個委員會,制定了COBOL語言的標準[3],並於1961年由美國數據系統語言協會英语CODASYL公布。正式發布於1960年4月,稱為Cobol-60,現在最新的版本是Cobol-2002。COBOL最早是以葛麗絲·霍普開發的FLOW-MATIC英语FLOW-MATIC語言為範本。值得注意的是,葛麗絲·霍普並不是發明COBOL的六人組成員之一。1959 年,在紐約曼哈頓的雪梨荷兰酒店英语The Sherry-Netherland珍·薩姆梅特英语Jean E. Sammet和其他5位程序員閉關兩週,幾乎是無晝夜地開發,完成了 COBOL 的大部分設計。[4]

1963年,美國國家標準學會进行了标准化,但是ANSI标准很少被遵循;因此,COBOL程序只是部分可移植的。

重要性

经过40多年的不断修改、丰富完善和标准化,COBOL已发展为多种版本的庞大语言,在财会工作、统计报表、计划编制、情报检索、人事管理等数据管理及商业数据处理领域,都有着广泛的应用。

COBOL主要是应用于金融和会计行业等非常重要的商业数据处理领域,即使 COBOL 多年來被視為過時的語言,但是目前大多數的金融業核心系統仍多半使用COBOL,除了舊有系統太龐大修改不易外,COBOL 平台的穩定性也是它生命一直超過預期延續的重要原因。

2019新型冠狀病毒疫情影响下,美国政府因為需處理大量失業給付,使得COBOL编写的老旧系统頻繁出现故障,需要同样上年纪、甚至已退休的老年COBOL程序员来協助维护,所以COBOL的创始团队在网上公开教程和学习资源,让年轻程序员学习COBOL来协助这些程序员维护系統,同时也紧急招募COBOL程序员来协助维护。[5]

特点

COBOL是一種面向數據處理的、面向文件的、面向過程POL)的高級編程語言,是一種功能很強而又極為冗長的語言。

COBOL适合于具有循环处理周期的环境(例如打印工资支票)以及数据操纵量相当大的环境。COBOL主要应用于商业数据处理领域,对各种类型的数据进行收集、存儲、傳送、分類、排序、計算及打印報表、輸出圖像是它的強項。

COBOL语法与英文很接近,即使不懂电脑的人也能看懂程序。

強大的文件處理功能,大量的數據通常以文件的形式存儲在磁盤上。

仅提供了加、减、乘、除及乘方这五种简单的算术运算,因而不适于进行科学计算

未来的COBOL将支持XMLWeb时代的新技术。

程序结构

COBOL程序由4部(DIVISION)组成:IDENTIFICATION DIVISION.(标识部)、ENVIRONMENT DIVISION.(环境部)、DATA DIVISION.(数据部)、 PROCEDURE DIVISION.(过程部),而每个部又由若干节(SECTION)组成。

IDENTIFICATION DIVISION.

「PROGRAM-ID」(程序識別ID)、「AUTHOR」(作者名)、「DATE-WRITTEN」(編寫日期),這些並不直接影響程序的執行,而是程序的註釋 信息。程序註釋可以採用任何語言書寫,COBOL編譯器可以接受。

ENVIRONMENT DIVISION.

用于记载程序可以被运行的计算机环境。“ENVIRONMENT DIVISION.”部包括“CONFIGURATION SECTION”环境节和“INPUT-OUTPUT SECTION”输入输出节。

DATA DIVISION.

用于定义和声明程序所要使用的变量及其他数据。程序要使用的全部变量和数据必须在这里定义。“DATA DIVISION.”部主要包含“FILE SECTION.”和“WORKING-STORAGE SECTION.”节。

如果程序要通过参数接收数据,那么使用“LINKAGE SECTION”来声明。

COBOL的数据种类

COBOL程序的数据,主要有以下3种:

  • 变量(Variables)
  • 常量(Literals)
  • 表意常量(FigurativeConstants):使用有特定意思的多个词组合成一个常量的代名词。好处是便于编码人员识别。比如:HIGH-VALUES、LOW-VALUES等可以表达一定意思的名称作为常量代名词。

COBOL变量类型

COBOL的基本变量类型,有以下三种:

  • 数值型(Numeric)
  • 英文字符型(AlphaNumeric)
  • 英文字符串型(Alphabetic)

PROCEDURE DIVISION

用于容纳程序的实际处理代码。需要传入参数时,采用“PROCEDURE DIVISION USING引数名[,参数名...]”的方式。

因為前3個DIVISION都是註釋,卻又必須,只到第4個DIVISION「PROCEDURE DIVISION」才真正涉及程序代碼,這樣的繁瑣規定使得COBOL被批評為太過冗長。但是,基於這樣的4個DIVISION的明確記述等的嚴格形式,COBOL也被公認是可讀性強的語言。另外,COBOL的保留字數量龐大,字數過長的保留字太多是COBOL的特徵之一。

Hello world例子代码

Hello world用COBOL写为:

       IDENTIFICATION DIVISION.
       PROGRAM-ID. hello-world.
       PROCEDURE DIVISION.
           DISPLAY "Hello, world!"
           .

现在著名的Hello, World!程序例子,于1978年在《C编程语言》书中最初问世的那个时代,在主机上类似的COBOL程序可以通过JCL英语Job Control Language来提交,并很有可能使用打孔卡阅读器和80列打孔卡。下面列出的具有空DATA DIVISION的代码,曾使用GNU/Linux和运行MVS英语MVS 3.8J的System/370英语IBM System/370 Hercules模拟器测试过。这段写于2015年的JCL,是从Hercules教程和Jay Moseley保管的样例派生而来[6]。为了保持那个时代的COBOL程序,HELLO, WORLD用全部大写字母显示。

//COBUCLG  JOB (001),'COBOL BASE TEST',                                 00010000
//             CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)                        00020000
//BASETEST EXEC COBUCLG                                                 00030000
//COB.SYSIN DD *                                                        00040000
 00000* VALIDATION OF BASE COBOL INSTALL                                00050000
 01000 IDENTIFICATION DIVISION.                                         00060000
 01100 PROGRAM-ID. 'HELLO'.                                             00070000
 02000 ENVIRONMENT DIVISION.                                            00080000
 02100 CONFIGURATION SECTION.                                           00090000
 02110 SOURCE-COMPUTER.  GNULINUX.                                      00100000
 02120 OBJECT-COMPUTER.  HERCULES.                                      00110000
 02200 SPECIAL-NAMES.                                                   00120000
 02210     CONSOLE IS CONSL.                                            00130000
 03000 DATA DIVISION.                                                   00140000
 04000 PROCEDURE DIVISION.                                              00150000
 04100 00-MAIN.                                                         00160000
 04110     DISPLAY 'HELLO, WORLD' UPON CONSL.                           00170000
 04900     STOP RUN.                                                    00180000
//LKED.SYSLIB DD DSNAME=SYS1.COBLIB,DISP=SHR                            00190000
//            DD DSNAME=SYS1.LINKLIB,DISP=SHR                           00200000
//GO.SYSPRINT DD SYSOUT=A                                               00210000
//                                                                      00220000

在提交了这段JCL之后,MVS控制台显示:

    19.52.48 JOB    3  $HASP100 COBUCLG  ON READER1     COBOL BASE TEST
    19.52.48 JOB    3  IEF677I WARNING MESSAGE(S) FOR JOB COBUCLG  ISSUED
    19.52.48 JOB    3  $HASP373 COBUCLG  STARTED - INIT 1 - CLASS A - SYS BSP1
    19.52.48 JOB    3  IEC130I SYSPUNCH DD STATEMENT MISSING
    19.52.48 JOB    3  IEC130I SYSLIB   DD STATEMENT MISSING
    19.52.48 JOB    3  IEC130I SYSPUNCH DD STATEMENT MISSING
    19.52.48 JOB    3  IEFACTRT - Stepname  Procstep  Program   Retcode
    19.52.48 JOB    3  COBUCLG    BASETEST  COB       IKFCBL00  RC= 0000
    19.52.48 JOB    3  COBUCLG    BASETEST  LKED      IEWL      RC= 0000
    19.52.48 JOB    3  +HELLO, WORLD
    19.52.48 JOB    3  COBUCLG    BASETEST  GO        PGM=*.DD  RC= 0000
    19.52.48 JOB    3  $HASP395 COBUCLG  ENDED

为了效果对上述列出的第10行加以高亮,这个高亮不是实际的控制台输出。

有关的编译器列表生成了超过四页的技术细节和作业运行信息,针对这14行COBOL的单一一行输出。

参考文献

  1. ^ http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=51416.
  2. ^ 國家教育研究院 學術名詞COBOL. [2017-06-08]. (原始内容存档于2017-08-05). 
  3. ^ Early Meetings of the Conference on Data Systems Languages. IEEE Annals of the History of Computing. 1985, 7 (4): 316–325. S2CID 35625728. doi:10.1109/MAHC.1985.10047. 
  4. ^ 又走了一位大牛!COBOL 語言的聯合設計者離世. [2017-06-08]. (原始内容存档于2017-06-21). 
  5. ^ 大型主機疫情期用量飆高,美數個州急徵COBOL人才. iThome. [2020-04-15]. (原始内容存档于2020-04-17) (中文(繁體)). 
  6. ^ Moseley, Jay. COBOL Compiler from MVT. 17 January 2015 [19 July 2015]. (原始内容存档于2015-07-22). 

Read more information:

本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目可能包含原创研究。 (2018年6月17日)请协助補充参考资料、添加相关内联标签和删除原创研究内容以改善这篇条目。详细情况请参见讨论页。 此條目應避免有陳列雜項、瑣碎資料的部分。 (2018年6月17日)請協助將有關資料重新編排成連貫性的文章,安置於適當章節或條目內。 此條目没有列出任何参考…

Див. також: Новгородські літописи Новгородський перший літопис Мова давньоруська моваОпубліковано 11 століття  Цей твір у Вікісховищі Новгородський перший літопис — найдавніший літопис Новгородської боярської республіки, одне з головних джерел відомостей про куль…

Buloke Shire Local Government Area van Australië Locatie van Buloke Shire in Victoria Situering Staat Victoria Hoofdplaats Wycheproof Coördinaten 36°0'0ZB, 142°59'16OL Algemene informatie Oppervlakte 8.020 km² Inwoners 6.981 (juni 2006) Overig Wards 3 Portaal    Australië Buloke Shire is een Local Government Area (LGA) in Australië in de staat Victoria. Buloke Shire telt 6.981 inwoners. De hoofdplaats is Wycheproof.

Contamination of water bodies Part of a series onPollutionRaw sewage and industrial waste in the New River as it passes from Mexicali (Mexico) to Calexico, California Air Acid rain Air quality index Atmospheric dispersion modeling Chlorofluorocarbon Combustion Biofuel Biomass Joss paper Open burning of waste Construction Renovation Demolition Exhaust gas Diesel exhaust Haze Smoke Indoor air Internal combustion engine Global dimming Global distillation Mining Ozone depletion Particulates Asbestos…

Paseo de Aguas UbicaciónPaís  PerúMunicipio Distrito del RímacCoordenadas 12°02′20″S 77°01′30″O / -12.039, -77.0251CaracterísticasTipo Parque públicoFechas destacadasInauguración 1776[editar datos en Wikidata] El Paseo de Aguas es un paseo ubicado en el jirón Madera del distrito del Rímac en la ciudad de Lima, capital del Perú. Fue construido entre 1770 y 1776 por el virrey Manuel Amat y Juniet. En sus inmediaciones están la Alameda de los Desc…

Berkas:Carte vitale anonyme.jpgKartu pintar (smart card) untuk keperluan asuransi kesehatan di Prancis Kartu pintar (Inggris smart card) adalah sebuah kartu yang telah dipendam sirkuit terpadu. Meskipun banyak kegunaannnya, tetapi ada dua pembagian dasar dari kartu ini, yaitu kartu memori dan kartu dengan mikroprosesor. Contoh kegunaan kartu ini yang paling banyak adalah untuk sistem pembayaran elektronik dan dalam kartu SIM. Sejarah Kartu pintar ditemukan dan dipatenkan pada 1970-an. Ada bebera…

Quercus suber Quercus suber Chêne-liège.Classification APG III (2009) Règne Plantae Clade Angiospermes Clade Dicotylédones vraies Clade Noyau des Dicotylédones vraies Clade Rosidées Clade Fabidées Ordre Fagales Famille Fagaceae Genre Quercus EspèceQuercus suberL., 1753 Statut de conservation UICN LC  : Préoccupation mineure Tronc après la levée du liège. Le chêne-liège (Quercus suber L.), est un arbre à feuilles persistantes du genre Quercus (le chêne), famille des Faga…

Bette Korber Bette Korber con una canasta hecha para ella por mujeres zulúes en el orfanato que ayudó a fundar.Información personalNacimiento Siglo XX Nacionalidad EstadounidenseEducaciónEducada en Instituto de Tecnología de California Información profesionalOcupación Biólogo computacional y viróloga Área Biología computacional Empleador Laboratorio Nacional de Los Álamos Distinciones Premio Ernest Orlando Lawrence (2004) [editar datos en Wikidata] Bette Korber es una …

Season of television series Law & Order: Special Victims Unit Season of television series Law & Order: Special Victims UnitSeason 4Season 4 U.S. DVD coverStarring Christopher Meloni Mariska Hargitay Richard Belzer Ice-T Stephanie March BD Wong Dann Florek Country of originUnited StatesNo. of episodes25ReleaseOriginal networkNBCOriginal releaseSeptember 27, 2002 (2002-09-27) –May 16, 2003 (2003-05-16)Season chronology← PreviousSeason 3 Next →Season 5 List of…

1994 box set by Frank SinatraThe Song Is YouBox set by Frank SinatraReleasedAugust 30, 1994RecordedFebruary 1, 1940-July 2, 1942GenreJazztraditional popLength382:55LabelRCAFrank Sinatra chronology Sinatra & Sextet: Live in Paris(1994) The Song Is You(1994) Duets II(1994) Professional ratingsReview scoresSourceRatingAllmusic [1] The Song Is You is a 1994 box set by American singer Frank Sinatra. This five disc box set contains every studio recording Frank Sinatra performed wit…

Disease of the brain or spinal cord This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (March 2020) Medical conditionCentral nervous system diseaseCentral nervous system in yellow (brain and spinal cord)SpecialtyPsychiatry, Neurology, Neurosurgery Central nervous system diseases or central nervous system disorders are a group of neurological disorders th…

Hand grenade M-75 anti-personnel hand grenade The picture shows both the grenade and its plastic transportation can.TypeHand grenadePlace of originYugoslaviaService historyWarsYugoslav Wars, Grenade attacks in SwedenProduction historyVariantsM93 (Macedonia)SpecificationsMass335 g (11.8 oz)Length89 g (3.1 oz)Diameter57 mm (2.2 in)FillingPlastic explosiveFilling weight33 g (1.2 oz) The M75 grenade (English: kashikara, Serbian Latin: kašikara,…

The history of Nigeria can be traced to the earliest inhabitants whose remains date from at least 13,000 BC through early civilizations such as the Nok culture which began around 1500 BC. Numerous ancient African civilizations settled in the region that is known today as Nigeria, such as the Kingdom of Nri,[1] the Benin Empire,[2] and the Oyo Empire.[3] Islam reached Nigeria through the Bornu Empire between (1068 AD) and Hausa Kingdom during the 11th century,[4]&#…

UK naval brig-sloop 1813–1815 For other ships with the same name, see HMS Penguin. The action between USS Hornet and HMS Penguin History United Kingdom NameHMS Penguin Ordered20 August 1812 BuilderWilliam Bottomley, King's Lynn Laid downNovember 1812 Launched29 June 1813 Captured23 March 1815 FateScuttled by captors General characteristics Class and typeCruizer-class brig-sloop Tonnage386 79⁄94 (bm) Length 100 ft 5 in (30.6 m) (overall) 77 ft 6+1⁄2 in (23.6…

Town in Slovakia Town in SlovakiaKomárno KomáromTownFrom the top, Courtyard of Europe, Cultural and Social Centre of the Jewish Community of Komarno, Komárno Town Hall Coat of armsKomárnoLocation in SlovakiaCoordinates: 47°45′48″N 18°07′42″E / 47.76333°N 18.12833°E / 47.76333; 18.12833CountrySlovakiaRegionNitraDistrictKomárnoFirst mentioned1075Government • MayorBéla KeszeghArea • Total103.16[2] km2 (39.83[2]&#…

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أبريل 2015) مؤسسة التدريب المهني (الأردن) تعديل مصدري - تعديل   مؤسسة التدريب المهني مؤسسة أردنية تقوم بتقديم خدماتها لكافة المواطنين بغض النظر عن مستواهم التعليمي من م…

Danish-Romanian singer-songwriter and musician FallulahBackground informationBirth nameMaria Christina ApetriBorn (1985-02-06) 6 February 1985 (age 38)Tårnby, Amager, DenmarkGenresIndie pop, art rock, folkOccupation(s)Musician, songwriter, producer, actress, dancer[1]Instrument(s)Vocals, drums, guitar, piano, keyboards, ukulele, harp, glockenspiel, woodwind, clarinet, tambourine[2][3]LabelsSony Music Entertainment Denmark, RCAWebsitefallulah.dkMusical artist Fallula…

Ethnic group of the Philippines Not to be confused with Aeta people.This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Ati people – news · newspapers · books · scholar · JSTOR (May 2022) (Learn how and when to remove this template message)AtiAn Ati woman in Kalibo on Panay, PhilippinesTotal population55,473 (2020 …

Artikel ini membutuhkan rujukan tambahan agar kualitasnya dapat dipastikan. Mohon bantu kami mengembangkan artikel ini dengan cara menambahkan rujukan ke sumber tepercaya. Pernyataan tak bersumber bisa saja dipertentangkan dan dihapus.Cari sumber: Alasrejo, Wongsorejo, Banyuwangi – berita · surat kabar · buku · cendekiawan · JSTOR ALASREJO AlasrejoDesaKantor Desa AlasrejoPeta lokasi Desa AlasrejoNegara IndonesiaProvinsiJawa TimurKabupatenBanyuwangiKe…

2017 studio album by ChaiPinkStudio album by ChaiReleasedOctober 25, 2017Genre Dance-punk j-pop indie pop alternative dance rap rock new wave Length34:54Label Burger Records Otemoyan Chai chronology Homegoro Series(2017) Pink(2017) Wagama-mania(2018) Singles from Pink N.E.O.Released: October 11, 2017 Sayonara ComplexReleased: October 11, 2017 Professional ratingsAggregate scoresSourceRatingMetacritic84/100[1]Review scoresSourceRatingAllMusic[2]DIY[3]The Skinny[…

Kembali kehalaman sebelumnya

Lokasi Pengunjung: 54.87.90.21