
COBOL(面向商業的通用語言,又稱為企業管理語言、數據處理語言等,Common Business Oriented Langauge)是最早的高級程式語言之一,是世界上第一個商用語言。
目錄 |
1959年5月,五角大樓委託格雷斯·霍波(G.Hopper)博士領導一個委員會並由Rear Admiral Grace Hopper公司主持開發,並於1961年由美國數據系統語言協會公布。正式發佈於1960年4月,稱為Cobol-60,現在最新的版本是Cobol-2002。
1963年,美國國家標準學會(ANSI)進行了標準化,但是ANSI標準很少被遵循;因此,COBOL程序只是部分可移植的。
經過40多年的不斷修改、豐富完善和標準化,COBOL已發展為多種版本的龐大語言,在財會工作、統計報表、計劃編製、情報檢索、人事管理等數據管理及商業數據處理領域,都有著廣泛的應用。
COBOL的重要性可以用這句話來描述:世界上70%的數據都是用COBOL語言處理的,並且90%的ATM事務處理用的都是COBOL語言。每天在線處理的COBOL事務有300億次。500強中有492家(包括全部的100強)使用了COBOL語言,目前在COBOL方面的投資已經超過3萬億美元,,據稱用COBOL書寫的程序超過了2000億行[1],並且以每年大約50億行代碼的速度在增長。
由於COBOL在商業領域的雄厚基礎,而且COBOL主要是應用於銀行、金融和會計行業等非常重要的商業數據處理領域。所以,即使對於具有相當經驗的IT公司來說,重新編寫COBOL語言的可靠的應用軟體也是不實際或是從商業角度上並不可行的,而且還要花上很長的時間,只要大型機存在,COBOL就不會消失,即使是對電腦界產生巨大影響的「千年蟲」(Y2K)也沒有改變COBOL的命運。
COBOL是一種面向數據處理的、面向文件的、面向過程(POL)的高級程式語言,是一種功能很強而又極為冗長的語言。
COBOL適合於具有循環處理周期的環境(例如列印工資支票)以及數據操縱量相當大的環境。COBOL主要應用於商業數據處理領域,對各種類型的數據進行 收集、存儲、傳送、分類、排序、計算及列印報表、輸出圖象是它的強項。
COBOL語法與英文很接近,即使不懂電腦的人也能看懂程序。
強大的文件處理功能,大量的數據通常以文件的形式存儲在磁碟上。
僅提供了加、減、乘、除及乘方這五種簡單的算術運算,因而不適於進行科學計算。
未來的COBOL將支持XML等Web時代的新技術。
COBOL程序由4部(DIVISION)組成:IDENTIFICATION DIVISION.(標識部)、ENVIRONMENT DIVISION.(環境部)、DATA DIVISION.(數據部)、 PROCEDURE DIVISION.(過程部),而每個部又由若干節 (SECTION)組成。
「PROGRAM-ID」(程序識別ID)、「AUTHOR」(作者名)、「DATE-WRITTEN」(編寫日期),這些並直接不影響程序的執行,而是程序的註釋 信息。程序註釋可以採用任何語言書寫,COBOL編譯器可以接受。
用於記載程序可以被運行的計算機環境。「ENVIRONMENT DIVISION.」部包括「CONFIGURATION SECTION」環境節和「INPUT-OUTPUT SECTION」輸入輸出節。
用於定義和聲明程序所要使用的變數及其他數據。程序要使用的全部變數和數據必須在這裡定義。「DATA DIVISION.」部主要包含「FILE SECTION.」和「WORKING-STORAGE SECTION.」節。
如果程序要通過參數接收數據,那麼使用「LINKAGE SECTION」來聲明。
COBOL程序的數據,主要有以下3種:
變數和常量自不必說,說說表意常量。使用有特定意思的多個片語合成一個常量的代名詞。好處是便於編碼人員識別。比如:HIGH-VALUES、LOW-VALUES等可以表達一定意思的名稱作為常量代名詞。
COBOL的基本變數類型,有以下三種:
用於容納程序的實際處理代碼。需要傳入參數時,採用「PROCEDURE DIVISION USING 引數名[,參數名...]」的方式。
因為前3個DIVISION都是註釋,卻又必須,只到第4DIVISION「PROCEDURE DIVISION」才真正涉及程序代碼,這樣的繁瑣規定使得COBOL被批評為開場白像老太太裹腳布。但是,基於這樣的4個DIVISION的明確記述等的嚴格形式,COBOL也被公認是可讀性強的語言。另外,COBOL的保留字數量龐大,字數過長的保留字太多是COBOL的特徵之一。
(注:以上資料中,部分參考了相對應的日文頁面資料)
|
檢 • 論 • 編 • 歷
|
|
|---|---|
| 工業程式語言 | A+ - Ada - 組合語言 - B - Brainfuck - COBOL - Curl - D - Eiffel - Erlang - FORTRAN - IronPython - Java - Jython - LISP - Lua - SCILAB - MATLAB - MATHEMATICA - Nuva - Oberon - OCaml - Perl - PHP - PostScript - Powerbuilder - Python - R - REXX - Ruby - Self - Smalltalk - Tcl/Tk - C# - F# - J# - Microsoft Visual C# |
| C/C++語言 | C - C++ - Turbo C++ - Borland C++ - C++ Builder- C++/CLI - Objective-C - Microsoft Visual C++ |
| BASIC語言 | BASIC - BASICA - GW-BASIC - QBASIC - QuickBASIC - True BASIC - Turbo BASIC - PowerBASIC - DarkBASIC - ETBASIC - GVBASIC Visual Basic .NET - Visual Basic - VBScript - VBA |
| Pascal/Delphi語言 | Pascal語法:(Pascal - Turbo Pascal - Object Pascal - Free Pascal) Pascal+Delphi語法:(Delphi) |
| ECMAScript方言 | ActionScript - DMDScript - JavaScript - JScript |
| GPU用著色器語言 | Cg - GLSL - HLSL |
| 學術程式語言 | APL/J - Clean - Haskell - Logo - ML - Prolog - Scheme - SAC |
| 資料庫相關程式語言 | Clipper - Visual FoxPro - SQL - SQL預存程序 |
| 其他程式語言 | ALGOL - Forth - Modula-2/Modula-3 - MUMPS - PL/I - Simula |
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History