Chuyển tới nội dung
Home » “여전히 건재한” 코볼 프로그래밍 언어 이해하기

“여전히 건재한” 코볼 프로그래밍 언어 이해하기

여전히 건재한' 코볼이란 무엇인가 - Itworld Korea
어떤 기술은 결코 죽지 않는다. 드러나지 않을 뿐 여전히 사용된다.

ⓒ Getty Images Bank

보편적인 소프트웨어 개발자에게 코볼에 대해 물으면 마치 먹지나 유연 휘발유, 분당 회전수 78짜리 레코드 판에 대해 묻기라도 한 듯한 표정으로 쳐다본다. 고나 파이썬 같은 현대 언어는 물론 파스칼, 심지어 C에 비해서도 코볼은 장황하고 투박하고 시대에 뒤떨어져 보인다. 그러나 코볼의 생명력은 질기다. 코볼은 도태된 기술로 사라지지 않고 굳건히 자리를 지켰다. 세계 곳곳에서 여전히 방대한 코볼 코드베이스가 사용되고, 이 가운데 상당수는 처음에 만들어진 그대로 전혀 변경 없이 실행되고 있다. 영화에 비유하면 개봉 후 오랜 시간이 지난 후에도 좀처럼 극장에서 내려가지 않는 영화와 같다. 결론은 코볼은 건재하다는 것이다. 미국 뉴저지를 포함한 여러 주에서 코볼 애플리케이션을 현대화하는 작업을 이끌 프로그래머 채용 공고를 내면서 최근 코볼에 대한 관심이 되살아나고 있다. 이번 기사에서는 코볼의 기원, 지금까지도 돋보이는 코볼의 설계 특성, 그리고 끈질긴 수명의 원동력이지만 다루기 어려운 이유이기도 한 부분들을 살펴본다.

Korean translation with missing information added:
어떤 기술은 결코 죽지 않는다. 드러나지 않을 뿐 여전히 사용된다.

ⓒ Getty Images Bank

보편적인 소프트웨어 개발자에게 코볼(Common Business Oriented Language, COBOL)에 대해 물으면 마치 먹지나 유연 휘발유, 분당 회전수 78짜리 레코드 판에 대해 묻기라도 한 듯한 표정으로 쳐다본다. 고(Go)나 파이썬(Python) 같은 현대 언어는 물론 파스칼(Pascal), 심지어 C에 비해서도 코볼은 장황하고 투박하고 시대에 뒤떨어져 보인다. 그러나 코볼의 생명력은 질기다. 코볼은 도태된 기술로 사라지지 않고 굳건히 자리를 지켰다. 세계 곳곳에서 여전히 방대한 코볼 코드베이스가 사용되고, 이 가운데 상당수는 처음에 만들어진 그대로 전혀 변경 없이 실행되고 있다. 영화에 비유하면 개봉 후 오랜 시간이 지난 후에도 좀처럼 극장에서 내려가지 않는 영화와 같다. 결론은 코볼은 건재하다는 것이다. 미국 뉴저지를 포함한 여러 주에서 코볼 애플리케이션을 현대화하는 작업을 이끌 프로그래머 채용 공고를 내면서 최근 코볼에 대한 관심이 되살아나고 있다. 이번 기사에서는 코볼의 기원, 지금까지도 돋보이는 코볼의 설계 특성, 그리고 끈질긴 수명의 원동력이지만 다루기 어려운 이유이기도 한 부분들을 살펴본다.

컴퓨터의 역사와 함께 한 코볼

컴퓨터의 역사와 함께 한 코볼
코볼은 1950년대 후반부터 1960년대 초반 사이에 만들어졌다. 코볼 개발 프로젝트는 미국방성(DoD)의 후원으로 진행됐으며 IBM, 하니웰(Honeywell), 스페리 랜드(Sperry Rand), 버로우(Burroughs)와 같은 기업이 컨소시엄으로 참여했다. 이 프로젝트의 목표는 컴퓨터 시스템 간에 하드웨어 세대와 하드웨어 제조업체 간의 용이한 소프트웨어 마이그레이션을 위한 이식성(Portability)을 갖춘 프로그래밍 언어를 만드는 것이었다. 이를 위해 더 영어에 가까운 구문을 사용하고, 미래의 변화를 수용할 수 있는 기능을 추가했다.

첫 번째 공식 코볼 사양은 1960년에 나왔다. 초기에는 코볼에 비판적이었던 사람들이 실망했지만, 이후 10년동안 코볼은 비즈니스 애플리케이션 개발의 기본 언어로 떠오르게 되었다. 이는 네트워크 효과 때문이었는데, IBM과 같이 첫 번째 코볼 협력업체인 기업이 적극적으로 조기 도입한 것이 큰 역할을 했다. 당시에는 컴퓨팅 업계에서 IBM의 위상이 지배적이었기 때문이었다. 코볼은 특정 시스템에 사용하기 위해 만들어진 언어였지만, 설계상의 이점과 업계의 든든한 후원 덕분에 해당 시스템이 사라진 이후까지 살아남았다. 자료에 따르면 1970년에는 세계에서 가장 많이 사용되는 언어가 되었고, 1997년에는 비즈니스 애플리케이션의 약 80%가 코볼로 실행되었다.

코볼 언어

코볼 언어 설계자들은 당시 포트란과 같은 다른 프로그래밍 언어의 간결한 구문을 버렸다. 이들이 설계 시 염두에 둔 개념은 프로그래머가 아닌 사람들, 특히 회계, 금융, 보험 및 기타 비즈니스 전문가가 읽고 이해할 수 있는 프로그래밍 언어를 만드는 것이었다. 코볼의 초기 구문으로 작성된 다음과 같은 “hello world” 프로그램을 살펴보자.

코볼은 현대 소프트웨어 개발자가 보기에는 장황하다. 그러나 코볼이 가진 장황함의 기원은 현대 언어에 영향을 미친 개념과 동일하다. 코드는 쓰는 횟수보다 읽는 횟수가 훨씬 더 많으므로 읽기 편하도록 써야 한다는 개념이다. 코볼의 더 현대적 버전으로 쓴다면 다음과 같은 형태가 된다.

이 예제가 더 간결하지만 각 단계에서 어떤 일이 일어나는지를 명확히 드러내기 위해 노력한다는 기본 원칙은 동일하다. 코볼에는 구문 및 프로그램의 내부 구성과 관련된 엄격한 규칙이 있다. 코볼 프로그램은 식별, 환경, 데이터, 프로시저 디비전으로 명확하게 나뉘어 있어 각 구성요소를 쉽게 찾고 이해할 수 있다.

식별 디비전: 프로그램과 작성자 등에 대한 세부 정보를 포함하는 메타데이터 세션.

환경 디비전: 다른 하드웨어에서 프로그램을 실행할 때 편집이 필요할 수 있는 런타임 환경에 대한 세부 정보를 포함하는 세션. 예를 들어 I/O 처리 방식이 상호 전혀 다른 시스템 간의 프로그램 이식성에 도움이 된다.

데이터 디비전: 파일과 작업 스토리지 세션을 포함하며, 프로그램에 사용되는 파일과 변수를 기술한다.

프로시저 디비전: 실제 프로그램 코드가 위치하는 곳으로 논리적 단위인 세션, 패러그래프, 문장, 문으로 나뉜다. 이 구조는 유사한 기능을 수행하는 모듈이나 함수와 비슷해 보이지만 유연성이 상대적으로 훨씬 더 떨어진다.

또한 코볼은 서식 규칙이 극히 엄격해, 명령 앞의 공백 개수까지 따질 정도다. 이와 같은 제약 중 일부는 코볼이 1960년대 메인프레임 시대에 탄생한 데 따른 부산물이다. 당시에는 프로그램이 펀칭 카드에 인코딩됐으므로 정확한 80열 서식이 중요했다. 그 외의 서식 제한은 가독성을 위한 것이다. 코볼 프로그램의 엄격한 규격화는 코드 자체가 최대한 프로그램을 잘 설명하도록 만들기 위한 것이다. 코볼 프로그램은 수년 동안 한 자리에서 사용되는 경우가 흔했다. 설계자들의 의도는 코볼 프로그램이 수년이 지난 후에도 그 프로그램을 만든 프로그래머의 도움 없이 어느 코볼 프로그래머라도 이해할 수 있도록 한다는 것이었다.

여전히 건재한' 코볼이란 무엇인가 - Itworld Korea
여전히 건재한’ 코볼이란 무엇인가 – Itworld Korea
여전히 건재한' 코볼이란 무엇인가 - Itworld Korea
여전히 건재한’ 코볼이란 무엇인가 – Itworld Korea
코볼 - Itworld Korea
코볼 – Itworld Korea
코볼 - Itworld Korea
코볼 – Itworld Korea
코볼 - Itworld Korea
코볼 – Itworld Korea

See more here: molady.vn

Categories: https://molady.vn/kr

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *