COBOL (Common Business-Oriented Language) 仍廣泛運作於銀行核心帳務、保險理賠、政府稅務等關鍵系統。學習 COBOL 不僅為維護舊系統,更能理解「記錄導向」、「固定格式」、「十進制算術」等商業計算基因。
| 平台 | 編譯器/IDE | 安裝方式 |
|---|---|---|
| Windows | GnuCOBOL (OpenCOBOL) | choco install gnucobol 或 官網下載 安裝包 |
| Linux | GnuCOBOL | sudo apt-get install open-cobol / yum install gnucobol |
| macOS | GnuCOBOL | brew install gnucobol |
| 雲端/瀏覽器 | JDoodle, Replit, Tutorialspoint Online Compiler | 零安裝,適合嘗試片段 |
| 企業級 | IBM Enterprise COBOL, Micro Focus Visual COBOL | 需授權,支援 CICS/DB2/IMS 整合 |
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-MESSAGE PIC X(20) VALUE 'HELLO, COBOL WORLD!'.
PROCEDURE DIVISION.
DISPLAY WS-MESSAGE.
STOP RUN.
關鍵點: 固定欄位格式 (1-6 行號, 7 指示符, 8-11 A區, 12-72 B區),大寫關鍵字,句點結尾。
01 WS-NUM PIC 9(5)V99 VALUE 123.45. (隱含小數點 V,定點數運算無浮點誤差)IF WS-AGE GREATER THAN 18 THEN ... ELSE ... END-IF.PERFORM VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 10 ... END-PERFORM.SELECT IN-FILE ASSIGN TO "DATA.DAT" ORGANIZATION IS LINE SEQUENTIAL. → OPEN INPUT IN-FILE. READ IN-FILE INTO WS-RECORD AT END SET EOF-TRUE TO TRUE. CLOSE IN-FILE.CALL 'SUBPROG' USING WS-PARAM. (動態連結)RECEIVE MAP/SEND MAP 處理終端機互動。PIC 9(n)V9(m) 定點數,嚴禁用浮點數 處理金額。READ/WRITE/OPEN/CLOSE 後檢查 FILE STATUS (00 成功, 10 結束, 22 重複鍵, 30 永久錯誤...)。COBOL 雖古老,但其「自文件化」、「強類型商業數據」、「批次處理極致可靠」的設計哲學,至今仍是微服務、領域驅動設計的靈感來源之一。