"코볼"의 두 판 사이의 차이
잔글 |
|||
2번째 줄: | 2번째 줄: | ||
== 개요 == | == 개요 == | ||
− | 코볼은 | + | 코볼은 사무처리를 효과적으로 처리하기 위하여 개발된 언어로 코딩 방식에 의거하여 작성되어야 하며, [[컴파일]](Compile)에 의하여 실행되는 언어이다. |
== 배경 == | == 배경 == | ||
− | 1950년대 | + | 1950년대 사무처리 언어가 개발 업체마다 달라서 문제가 많이 있었다. 이러한 것을 인식한 미국 국방부에서 사무 처리 언어의 통일화를 위하여 사무처리에 대한 언어가 제시되고 CODASYL (Conference On Data Systems Languages, 데이터 시스템즈 언어 협의회)가 설립 되었고, 1959년 펜실베니아 대학교에서 [[그레이스 호퍼]]를 포함한 Jean Sammet, Saul Gorn 등 여러 학자들이 참석하여 초안 작성을 시작하였다. |
− | |||
− | |||
− | |||
− | |||
== 역사 == | == 역사 == | ||
* 코볼-60 : 1959년 ~ 1960년 / 사무를 위한 공용 프로그래밍 언어 개발. | * 코볼-60 : 1959년 ~ 1960년 / 사무를 위한 공용 프로그래밍 언어 개발. | ||
− | * 코볼-61~ 65 : 1961년 ~ 1965년 / 사양이 명확해지고, 대용량 기억 장치의 파일들과 표를 다룰 수 있는 기능 소개. | + | * 코볼-61 ~ 65 : 1961년 ~ 1965년 / 사양이 명확해지고, 대용량 기억 장치의 파일들과 표를 다룰 수 있는 기능 소개. |
* 코볼-68 : 1968년 ~ 1972년 / 버전 간 비호환성을 극복하기 위해 코볼을 표준화. 1972년 ISO에 채택. | * 코볼-68 : 1968년 ~ 1972년 / 버전 간 비호환성을 극복하기 위해 코볼을 표준화. 1972년 ISO에 채택. | ||
− | * 코볼-74 : | + | * 코볼-74 : 1972년 ~ 1978년 / [[ANIS]]가 코볼의 개정판을 출판. 1978년 ISO 갱신된 표준 채택. |
* 코볼-85 : 1978년 ~ 1985년 / 범위 종단자, 내재된 프로그램, CONTINUE 문, EVALUTE 문, INITIALIZE 문, 인라인 PERFORM 루프, 참조 수정, 입출력 상태 코드 등과 같은 기능들이 ISO에 채택. | * 코볼-85 : 1978년 ~ 1985년 / 범위 종단자, 내재된 프로그램, CONTINUE 문, EVALUTE 문, INITIALIZE 문, 인라인 PERFORM 루프, 참조 수정, 입출력 상태 코드 등과 같은 기능들이 ISO에 채택. | ||
− | * 코볼-2002 : 1990년대 초 ~ 2002년 / 완전한 리비전의 차기 코볼에 객채 지향을 추가하는 작업. | + | * 코볼-2002 : 1990년대 초 ~ 2002년 / 완전한 리비전의 차기 코볼에 객채 지향을 추가하는 작업 실시. 2002년 ISO에 마지막으로 승인 |
* 코볼-2014 : 2003년 ~ 2009년 / 이식 가능한 산술 결과물들은 IEEE 754 자료형으로 치환, 메소드 오버로딩, 동적 캐퍼시티 테이블, 주된 기능들이 선택 사항이 됨. | * 코볼-2014 : 2003년 ~ 2009년 / 이식 가능한 산술 결과물들은 IEEE 754 자료형으로 치환, 메소드 오버로딩, 동적 캐퍼시티 테이블, 주된 기능들이 선택 사항이 됨. | ||
− | == | + | == 구성 요소 == |
− | + | ''' 예약어 (Reserved Word) ''' | |
− | + | 예약어란 코볼 언어가 미리 의미를 정해 놓는 단어로써 사용자가 본래의 용도로 바꿔 사용할 수 없는 단어를 말한다. 따라서 프로그램을 작성할 때는 예약어는 반드시 본래의 의미로만 사용되어야 한다. | |
+ | |||
+ | ''' 기본어 (Key Word) ''' | ||
+ | 기본어란 코볼 프로그램에서 각종 정보를 기술할 경우나 어떤 명령문을 작성할 때 반드시 있어야 하는 단어로서 중심어라고도 부르고, | ||
+ | 어느 누가 사용해도 반드시 그 뜻을 전달하기 위해서 기술해야 하는 단어를 기본어라 한다. | ||
+ | |||
+ | ''' 리터럴 (Literal) ''' | ||
+ | 리터럴이란 명칭과는 달리 특정 값을 나타내기 위하여 사용된다. 리터럴은 기술되는 내용에 따라 수치 리터럴과 비수치 리터럴로 구분된다. | ||
+ | ''' 픽쳐 (Picture) ''' | ||
+ | 기본 항목에는 Picture문을 써서 항목의 크기나 성질을 반드시 구분해 주어야 한다. 그러나 집단 항목은 기본 항목을 구성하는 항목의 자릿수의 합계이므로 자리수를 쓰지 않는다. | ||
+ | |||
+ | == 구조 == | ||
''' IDENTIFICATION DIVISION ''' | ''' IDENTIFICATION DIVISION ''' | ||
− | IDENTIFICATION DIVISION은 | + | IDENTIFICATION DIVISION은 코드 개체를 식별하고 [[클래스]] 나 [[인터페이스]] 의 정의를 포함한다. |
''' ENVIRONMENT DIVISION ''' | ''' ENVIRONMENT DIVISION ''' | ||
− | ENVIRONMENT DIVISION에는 CONFIGURATION 섹션과 INPUT-OUTPUT 섹션이 | + | ENVIRONMENT DIVISION에는 CONFIGURATION 섹션과 INPUT-OUTPUT 섹션이 포함된다. |
− | ''' DATA DIVISION ''' | + | ''' DATA DIVISION ''' |
− | DATA DIVISION은 | + | DATA DIVISION은 6개로 나뉘며 다른 항목을 선언한다. |
− | * FILE SECTION : 파일 | + | * FILE SECTION : 파일 상세 서술 |
* WORKING-STORAGE SECTION : 정적 변수 | * WORKING-STORAGE SECTION : 정적 변수 | ||
* LINKAGE SECTION : 매개 변수와 변환값 | * LINKAGE SECTION : 매개 변수와 변환값 | ||
* REPORT SECTION, SCREEN SECTION : 텍스트 기반의 사용자 인터페이스 | * REPORT SECTION, SCREEN SECTION : 텍스트 기반의 사용자 인터페이스 | ||
− | + | == 장,단점 == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
''' 장점 ''' | ''' 장점 ''' | ||
− | * | + | * 학습과 활용에 용이하다. (문법이 영어식 표현 방식이라 배우기 쉽다) |
+ | * 컴퓨터 기종 변경에 따른 프로그램의 수정이 거의 필요없이 사용가능. (호환성이 높다) | ||
+ | * 순차 처리와 단순 처리가 모두 가능하여 다른 언어에 비해 파일 처리 기능이 좋다. | ||
''' 단점 ''' | ''' 단점 ''' | ||
− | * | + | * 다른 프로그래밍 언어보다 처리 속도가 느리고, 프로그램 작성이 번거롭다. |
− | * | + | * 전체적인 구성이 간결하지 못하다. |
− | * | + | * 설계 과정이 효과적이지 않다. |
+ | * 코볼-85 버전은 이전의 버전들과 호환되지 못해 논란이 있다. | ||
== 같이 보기 == | == 같이 보기 == | ||
* [[그레이스 호퍼]] | * [[그레이스 호퍼]] | ||
* [[포트란]] | * [[포트란]] | ||
+ | |||
+ | == 참고 자료 == | ||
+ | * 〈[http://egloos.zum.com/lucirr/v/2505945 코볼]〉 | ||
+ | * 〈[http://m.blog.daum.net/gangseo/17970031 cobol 정리]〉, 《개인블로그》, 2013-02-11 | ||
{{프로그래밍 언어|토막글}} | {{프로그래밍 언어|토막글}} |
2019년 7월 3일 (수) 16:38 판
코볼(COBOL)은 Common Business-Oriented Language의 약자로서, 1959년 개발된 사무용 프로그래밍 언어이다. 미국의 여성 해군 제독인 그레이스 호퍼(Grace Hopper)가 만든 플로우매틱(Flow-Matic)을 기반으로 개발되었다. 포트란(Fortran)이 주로 공학용으로 사용된 반면, 코볼(COBOL)은 비즈니스, 회계, 금융, 정부 관리 시스템 등에 널리 사용되었다. 이후 C, Java 등의 언어로 대체되어 거의 사용되지 않고 있다.
개요
코볼은 사무처리를 효과적으로 처리하기 위하여 개발된 언어로 코딩 방식에 의거하여 작성되어야 하며, 컴파일(Compile)에 의하여 실행되는 언어이다.
배경
1950년대 사무처리 언어가 개발 업체마다 달라서 문제가 많이 있었다. 이러한 것을 인식한 미국 국방부에서 사무 처리 언어의 통일화를 위하여 사무처리에 대한 언어가 제시되고 CODASYL (Conference On Data Systems Languages, 데이터 시스템즈 언어 협의회)가 설립 되었고, 1959년 펜실베니아 대학교에서 그레이스 호퍼를 포함한 Jean Sammet, Saul Gorn 등 여러 학자들이 참석하여 초안 작성을 시작하였다.
역사
- 코볼-60 : 1959년 ~ 1960년 / 사무를 위한 공용 프로그래밍 언어 개발.
- 코볼-61 ~ 65 : 1961년 ~ 1965년 / 사양이 명확해지고, 대용량 기억 장치의 파일들과 표를 다룰 수 있는 기능 소개.
- 코볼-68 : 1968년 ~ 1972년 / 버전 간 비호환성을 극복하기 위해 코볼을 표준화. 1972년 ISO에 채택.
- 코볼-74 : 1972년 ~ 1978년 / ANIS가 코볼의 개정판을 출판. 1978년 ISO 갱신된 표준 채택.
- 코볼-85 : 1978년 ~ 1985년 / 범위 종단자, 내재된 프로그램, CONTINUE 문, EVALUTE 문, INITIALIZE 문, 인라인 PERFORM 루프, 참조 수정, 입출력 상태 코드 등과 같은 기능들이 ISO에 채택.
- 코볼-2002 : 1990년대 초 ~ 2002년 / 완전한 리비전의 차기 코볼에 객채 지향을 추가하는 작업 실시. 2002년 ISO에 마지막으로 승인
- 코볼-2014 : 2003년 ~ 2009년 / 이식 가능한 산술 결과물들은 IEEE 754 자료형으로 치환, 메소드 오버로딩, 동적 캐퍼시티 테이블, 주된 기능들이 선택 사항이 됨.
구성 요소
예약어 (Reserved Word) 예약어란 코볼 언어가 미리 의미를 정해 놓는 단어로써 사용자가 본래의 용도로 바꿔 사용할 수 없는 단어를 말한다. 따라서 프로그램을 작성할 때는 예약어는 반드시 본래의 의미로만 사용되어야 한다.
기본어 (Key Word) 기본어란 코볼 프로그램에서 각종 정보를 기술할 경우나 어떤 명령문을 작성할 때 반드시 있어야 하는 단어로서 중심어라고도 부르고, 어느 누가 사용해도 반드시 그 뜻을 전달하기 위해서 기술해야 하는 단어를 기본어라 한다.
리터럴 (Literal) 리터럴이란 명칭과는 달리 특정 값을 나타내기 위하여 사용된다. 리터럴은 기술되는 내용에 따라 수치 리터럴과 비수치 리터럴로 구분된다.
픽쳐 (Picture) 기본 항목에는 Picture문을 써서 항목의 크기나 성질을 반드시 구분해 주어야 한다. 그러나 집단 항목은 기본 항목을 구성하는 항목의 자릿수의 합계이므로 자리수를 쓰지 않는다.
구조
IDENTIFICATION DIVISION IDENTIFICATION DIVISION은 코드 개체를 식별하고 클래스 나 인터페이스 의 정의를 포함한다.
ENVIRONMENT DIVISION ENVIRONMENT DIVISION에는 CONFIGURATION 섹션과 INPUT-OUTPUT 섹션이 포함된다.
DATA DIVISION DATA DIVISION은 6개로 나뉘며 다른 항목을 선언한다.
- FILE SECTION : 파일 상세 서술
- WORKING-STORAGE SECTION : 정적 변수
- LINKAGE SECTION : 매개 변수와 변환값
- REPORT SECTION, SCREEN SECTION : 텍스트 기반의 사용자 인터페이스
장,단점
장점
- 학습과 활용에 용이하다. (문법이 영어식 표현 방식이라 배우기 쉽다)
- 컴퓨터 기종 변경에 따른 프로그램의 수정이 거의 필요없이 사용가능. (호환성이 높다)
- 순차 처리와 단순 처리가 모두 가능하여 다른 언어에 비해 파일 처리 기능이 좋다.
단점
- 다른 프로그래밍 언어보다 처리 속도가 느리고, 프로그램 작성이 번거롭다.
- 전체적인 구성이 간결하지 못하다.
- 설계 과정이 효과적이지 않다.
- 코볼-85 버전은 이전의 버전들과 호환되지 못해 논란이 있다.
같이 보기
참고 자료