코볼이란 ?
코볼은 사무용으로 설계된, 영어와 같은 컴퓨터 프로그래밍 언어이다. 절차적, 명령형 언어이므로 객체지향 언어가 아니다.
코볼은 주로 비즈니스, 금융, 회사/정부 관리 시스템에서 주로 사용되었었다. 현재는 객체 지향도 지원한다고 한다.
코볼은 총 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 |