E D R , A S I H C RSS

코볼

last modified: 2015-11-29 15:32:43 by Contributors

COBOL(COmmon Business-Oriented Language의 약자이다)

Contents

1. 개요
2. 목적
3. Y2K 문제
4. 기타

1. 개요

3세대 프로그래밍 언어로, 1959년에 처음으로 나왔다. 이후 여러번 규격이 개정되어 현재는 객체 지향도 지원한다. 개념이 상당히 오래묵기는 했지만 처음부터 일반인도 쓸 수 있도록 만들었기 때문에 코볼이라는 언어 자체는 그리 어렵지 않은 편이다.

2. 목적

비슷한 시기에 나온 포트란과 달리 일반 업무[1]에서 이용할 목적으로 만들어졌고 실제로 미국 정부에서 사용하였다. 따라서 보고서 작성이나 회계 계산 등을 잘 지원한다. 예를 들어 센트(1/100달러) 계산에 오차가 없다. 문법도 일반 영어 문장과 매우 흡사하게 되어 있는데, 그 이유 중 하나는 '관리자들도 프로그램을 읽고, 슈퍼마켓 점원들도 프로그램을 수정할 수 있는' 쉬운 프로그래밍을 위한 것이었다. 물론 될 리가 없었지만... 사실 입장에서는 그리 좋지는 않은데, 키보드를 더 많이 쳐야 하기 때문이다. 예를 들어 사칙연산을 수행할 때도 보통 프로그래밍 언어는 그냥 z=x+y;[2] 식으로 써 주면 되지만 코볼에서는 아래와 같이 써야 한다.
COMPUTE Z=X+Y.
또는
MOVE X TO Z.
ADD Y TO Z.[3]
아놔...

이건 마치 슈퍼마켓에서 그냥 '새우깡 하나요' 하면 될 걸 '새우깡 1개체를 자판에서 카운터로 이동시킨다, 천원이 나의 지갑에서 빠져나간다, 거래는 성립된다.'라고 늘여 말하는 꼴이다[4].나스체

역사가 오래되었기 때문에 매우매우 많은 양의 프로그램이 코볼로 만들어졌고, 아직도 상당히 많은 양의 코볼 프로그램이 돌아가고 있다. 1999년 조사 결과 맨해튼에서는 10억 줄 분량의 코볼 프로그램이 돌아가고 있다고 한다. 현장에서는 시스템이 문제없이 잘 돌아가고 있으면 굳이 다 갈아치우려는 모험을 잘 하지 않기 때문에 기존 프로그램을 필요한 부분만 고치거나 해서 그대로 쓰는 경우도 많다. 물론 신규 프로젝트에서는 다른 언어들에 밀려서 안 쓰이지만. 현재 코볼의 사무처리 능력은 거의 데이터베이스 프로그램들이 대체했다.

3. Y2K 문제

해당 문제가 한창 화제가 됐을 때 기존 코볼 프로그램을 검증하고 수정하느라 잠시 코볼 프로그래머의 인기가 오르기도 한 적이 있다. 그리고 지금도 현역 코볼 프로그래머들이 있다. 좀 무섭지만 메인프레임 같이 한번 들여놓으면 수십년씩 굴려대는 컴퓨터의 경우에는 소스코드도 그 시절에 짜 놓은 걸 그대로 쓰는데 이 녀석을 유지보수 업무를 하려면 어쨌든 코볼 개발자가 필요한 것. 하지만 대학이나 학원 같은 데서 코볼을 배워서 나오는 개발자 지망생 같은 게 있을 턱이 없다 보니 그런 쪽 업계는 일자전승으로 내려오는 암살권마냥 도제식으로 개발자를 키우고 있다는 도시전설같은 얘기도 개발자들 사이에서 돌아다닌다. 실제로 2000년대SM(개발) 신입 1개월차가 코볼을 손대봤다는 사례가 존재한다. 물론 이건 한국 이야기고, 북미에선 어지간한 칼리지(전문대학...이기는 한데 한국의 전문대학과는 수준이 좀 다르다)에도 코볼을 가르친다.

4. 기타

1980~90년대 초반에는 컴퓨터 학원에서도 BASIC 다음에 가르치는 경우가 많았다. 뭐 지금 생각해 보면 뻘짓이었지만. 2000년대 초반 고등학교에서 제6차 교육과정의 프로그래밍Ⅱ 단원 중에 코볼 단원도 있었다. 물론 그 단원은 전혀 배우지 않고 쪽수만 차지하는 잉여단원으로 취급되었다.

여담으로 코볼의 할머니 창시자인 레이스 호퍼(Grace Hopper)는 프로그램 역사에서 두 번째로 유명한 여성 프로그래머이자 최고령 여성 제독이기도 했다.[5][6] 참고로 첫번째로 유명한 여성 프로그래머에이다 러브레이스 백작부인이다. 그리고 이쪽은 세계 최초의 프로그래머다.
----
  • [1] 미 해군이 개발에 참여했다.
  • [2] BASIC에서는 세미콜론을 안 붙임. COMPUTE에 해당하는 명령문으로 LET가 있다. 그런데 LET Z=X+Y라고 쓰나 그냥 Z=X+Y라고 쓰나 똑같다.
  • [3] 보통은 이렇게는 귀찮아서 안 쓴다. 더하기는 그나마 짧지만 다른 연산은 SUBTRACT, MULTIPLY, DIVIDE 이렇게 되므로...
  • [4] 사실 이러한 구조는 프로그램 소스코드가 업무절차등을 설명하는 서류로도 사용될수 있도록 하기 위함이었다.
  • [5] 1983년에 해군 준장으로 진급해서 1986년에 퇴역했다.
  • [6] 그녀의 107년째 생일을 기리는 구글 두들이 12월 9일 구글 메인을 장식했다.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2015-11-29 15:32:43
Processing time 0.0232 sec