코볼
객체 지향 프로그래밍 언어 / From Wikipedia, the free encyclopedia
코볼(COBOL, COmmon Business-Oriented Language, 사무 지향 보통 언어)은 사무용으로 설계된, 영어와 같은 컴퓨터 프로그래밍 언어이다. 절차적, 명령형 언어이고, 2002년부터는 객체 지향 언어이다.[5]
패러다임 | 절차적, 명령형, 객체 지향 |
---|---|
설계자 | 하워드 브롬버그, 하워드 디스카운트, 버넌 리브스, 진 E. 사멧, 윌리엄 셀든, 거트루드 티어니 |
개발자 | CODASYL, ANSI, ISO |
발표일 | 1959년(65년 전)(1959) |
최근 버전 | ISO/IEC 1989:2014 |
최근 버전 출시일 | 2014년 |
자료형 체계 | 약한 타이핑/강한 타이핑 |
파일 확장자 | .cbl , .cob , .cpy |
주요 구현체 | |
GnuCOBOL, IBM COBOL, 마이크로 포커스 비주얼 코볼 | |
ACUCOBOL-GT, COBOL-IT, COBOL/2, DEC COBOL-10, DEC VAX COBOL, DOSVS COBOL, Fujitsu COBOL, Hitachi COBOL2002, HP3000 COBOL/II, IBM COBOL SAA, IBM COBOL/400, IBM COBOL/II, IBM Enterprise COBOL, IBM ILE COBOL, IBM OS/VS COBOL, ICL COBOL, isCOBOL, Micro Focus COBOL, Microsoft COBOL, Realia COBOL, Ryan McFarland RM/COBOL, Ryan McFarland RM/COBOL-85, Tandem (NonStop) COBOL85, Tandem (NonStop) SCOBOL, UNIVAC COBOL, Unisys MCP COBOL74, Unisys MCP COBOL85, Unix COBOL X/Open, Visual COBOL, Wang VS COBOL | |
영향을 받은 언어 | |
AIMACO, C++,[lower-alpha 1] COMTRAN, FACT, FLOW-MATIC, 스몰토크[lower-alpha 1] | |
영향을 준 언어 | |
코볼스크립트,[3] PL/I[4] |
코볼은 주로 비즈니스, 금융, 회사/정부 관리 시스템에 주로 사용된다. 1997년 가트너 그룹은 총 200,000,000,000줄의 코볼이 현존하며 모든 비즈니스 프로그램의 80%를 실행한 것으로 예측하였다.[6]
코볼은 지금도 메인프레임 컴퓨터의 레거시 응용 프로그램들에 사용되고 있으며 대용량 일괄 처리 및 트랜잭션 처리와 같은 작업에 쓰인다. 그러나 숙련된 코볼 프로그래머가 은퇴하고 인기가 시들어가면서 프로그램들은 새로운 플랫폼으로 이관돼 현대의 언어로 다시 작성되거나 소프트웨어 패키지로 대체되는 추세이다.[7] 코볼 대부분의 프로그래밍은 순수하게 기존의 응용 프로그램들을 관리하는 데 있다.[8]
코볼은 1959년에 CODASYL이 설계하였으며 부분적으로는, 코볼의 어머니로 불리는 그레이스 호퍼의 이전 프로그래밍 언어 디자인을 기반으로 한다.[9][10][11] 데이터 처리를 위해 이식 가능한 프로그래밍 언어를 만들려는 미국 국방부 노고의 일부이기도 하다. 임시방편으로 의도했던 미국 국방부가 발빠르게 컴퓨터 제조업체에게 그것을 제공하도록 강제한 결과 널리 채택되었다.[12] 1968년 표준화되어 그 뒤로 4차례 개정되었다. 확장에는 구조적, 객체 지향 프로그래밍의 지원을 포함한다. 현재 표준은 ISO/IEC 1989:2014이다.[13]
코볼은 영어와 비슷한 문법을 갖고 있으며, 자체 문서화 및 높은 가독성을 염두에 두고 설계되었다. 그러나 문법이 장황하고 300개가 넘는 예약어를 사용한다. y = x;
처럼 현대의 간결한 문법과 달리, 코볼은 더욱 영어와 같은 문법을 갖고 있다. (이 경우 MOVE x TO y
). 코볼 코드는 4개의 디비전(IDENTIFICATION, ENVIRONMENT, DATA, PROCEDURE)으로 나뉘며 이 안에 엄격한 계층적 섹션, 문단, 문장들을 포함한다. 대형 표준 라이브러리가 부족하며 이 표준은 43개의 문들과 87개의 함수, 그리고 하나의 클래스만을 규정한다.
학계의 컴퓨터 과학자들은 코볼이 만들어졌을 때 일반적으로 사무용 응용 프로그램들에 관심이 없었으며 설계에도 참여하지 않았다. 코볼은 문법의 장황함, 설계 과정, 구조화 프로그래밍 지원 부족으로 비판을 받아왔으며 이음매가 없고 이해하기 어려운 프로그램들을 만들어냈다.
코볼보다 먼저 개발된 포트란(FORTRAN)은 주로 과학기술 계산용인 반면 비슷한 시기에 탄생된 코볼은 대량 데이터 처리를 위한 업무처리 및 관리 분야용으로 자리잡게 된다. 코볼과 포트란은 프로그램밍 언어 역사에서 고급 기술언어의 원점이 되고 있다.