코볼이란 ?

코볼은 사무용으로 설계된, 영어와 같은 컴퓨터 프로그래밍 언어이다. 절차적, 명령형 언어이므로 객체지향 언어가 아니다.

코볼은 주로 비즈니스, 금융, 회사/정부 관리 시스템에서 주로 사용되었었다. 현재는 객체 지향도 지원한다고 한다.

 

코볼은 총 4가지 구역으로 나눌 수 있다.

1. IDENTIFICATION DIVISION : 소스 요소의 이름과 종류를 정의하는 곳

2. ENVIRONMENT DIVISION : 파일과 문자 집합을 정의하는 곳

ENVIRONMENT DIVISION.
           INPUT-OUTPUT SECTION.
           FILE-CONTROL.
               SELECT OPTIONAL MASTER ASSIGN TO "master.txt"
               ORGANIZATION IS LINE SEQUENTIAL.

ex) MASTER라는 변수에 master.txt 파일을 설정 할 수 있는 곳

 

3. DATA DIVISION : 변수와 매개변수 선언하는 곳

FD MASTER.
           01 WIZARD-INFO.
               03 ACC-NAME PIC A(20).
               03 ACC-NUM PIC X(16).
               03 ACC-PWD PIC 9(6).
               03 ACC-BLC PIC 9(16).

WIZARD-INFO 구조체를 만들어 불러온 MASTER 파일을 구조체에 맞게 구성 가능하게 할 수 있다.

 

4. PROCEDURE DIVISION : 프로그램을 동작하는 곳

PROCEDURE DIVISION.
       START-PROCEDURE.
           OPEN OUTPUT ATM-711.
           OPEN OUTPUT ATM-713.
           DISPLAY "##############################################".
           DISPLAY "##         Gringotts Wizrding Bank          ##"
           DISPLAY "##                 Welcome                  ##"
           DISPLAY "##############################################".
           GO TO CHOOSE-ATM.

       CHOOSE-ATM.
           DISPLAY "=> PLEASE CHOOSE THE ATM".
           DISPLAY "=> PRESS 1 FOR ATM 711".
           DISPLAY "=> PRESS 2 FOR ATM 713".
           ACCEPT ATM_NUM FROM CONSOLE.
           IF ATM_NUM = 1 THEN GO TO INPUT-ACCOUNT.

           IF ATM_NUM = 2 THEN GO TO INPUT-ACCOUNT.

           IF ATM_NUM >= 3 OR ATM_NUM <= 0 THEN
               DISPLAY "=> INVALID INPUT",
               GO TO CHOOSE-ATM.

       INPUT-ACCOUNT.
           DISPLAY "=> ACCOUNT".
           ACCEPT ACC FROM CONSOLE.
           DISPLAY "=> PWD".
           ACCEPT PWD FROM CONSOLE.
           GO TO OPEN-MASTER.

       OPEN-MASTER.
           OPEN INPUT MASTER.
           GO TO READ-FILE.

       READ-FILE.
           READ MASTER INTO WZ-INFO
               AT END GO TO RE-INPUT.
           GO TO CHECK.

       CHECK.
           IF ACC NOT = WZ-NUM OR PWD NOT = WZ-PWD
              THEN GO TO READ-FILE.
           IF PWD = WZ-PWD AND ACC = WZ-NUM THEN GO TO CHOOSE-SERVICE.

GO TO function으로 여러 procedure을 넘나 들 수 있음.

READ MASTER INFO WZ-INFO => MASTER 파일을 WZ-INFO 구조체에 맞게 읽어 줌.

 

My Review

What is the difference between COBOL and C?

COBOL 같은 경우 아무래도 문법 구성이 영어와 매우 흡사하므로 C 언어 보단 readability가 뛰어난 거 같다. 그래서 비전공자인 사람도 코볼 코드를 보면 이해할 수 있을 정도의 쉬운 접근성이 있다. 

하지만 코볼의 format은 굉장히 제한적인 경우가 많다. 예를 들어, 12-72열까지만 명령문을 기입할 수 있는 굉장히 제한 적인 format이기 때문에 아무래도 C 언어 보단 불편한 점이 있는 거 같다.

 

Why COBOL is used in present? 

코볼은 초기 프로그램 언어이고 초반에 절차적. 명령형 언어로 설계되어 많은 비즈니스 관련 시스템에 녹아 들어있다. 그래서 많은 양의 코볼 프로그램을 다 갈아치우기는 힘들어 몇몇 곳은 여전히 코볼이 쓰인다고 한다. 하지만 많은 양의 코볼 프로그램을 현재 데이터베이스 프로그램으로 대체하는 중이라고 한다.

 

'Language' 카테고리의 다른 글

[Python] What is Duck typing?  (1) 2023.02.06
[Python] What is Dynamic typing?  (2) 2023.01.30
[C 언어] How to read file in C  (2) 2023.01.18
[Java] Why use Prepared Statement  (0) 2023.01.02
[Java] How to connect SQL with JAVA  (0) 2023.01.01

+ Recent posts