유닉스-C언어의 아버지가 남기고 간 것

일반입력 :2011/10/14 17:01    수정: 2011/10/14 22:52

유닉스 운영체제(OS)와 C 프로그래밍 언어를 창시한 프로그래머 데니스 리치가 향년 70세로 눈을 감았다. 그보다 대중적 인지도가 높았던 스티브 잡스 애플 회장이 지난 6일 고인이 되면서, 리치가 이틀 후인 8일 자택에서 눈을 감았다는 소식은 뒤늦게 알려졌다. 국내외 IT 업계는 그가 창조한 기술의 계보가 애플 제품에 들어간 소프트웨어로도 이어진다는 점을 지적하며, 정말로 '한 세대'가 끝나감을 실감한다는 분위기다.

영국 지디넷은 13일(현지시간) 유닉스와 C의 '발명가' 데니스 리치가 오랜 투병 끝에 사망했다는 소식을 벨 연구소로부터 확인받았다고 보도했다. 더불어 그는 생을 마감했으나 그의 아이디어는 현대적인 OS 설계와 프로그래밍 언어에 녹아들어 모든 디지털 기기 환경에서 살아갈 것이라고 평했다.

김종훈 알카텔루슨트 벨 연구소 사장은 공식 성명을 통해 데니스는 알카텔루슨트 벨 연구소 동료들에게 사랑받아왔고, 그가 남긴 수많은 업적뿐 아니라 한 사람의 친구, 발명가, 겸손하고 정중한 신사로서 우리 모두에게 참된 영감을 줬다며 우리는 그를 많이 그리워할 것이고 리치 일가를 포함해 그와 어떤 식으로든 인연이 닿았던 모두에게 그를 잃은 데 따른 상심을 깊이 공감한다고 전한다고 밝혔다.

데니스 맥알리스테어 리치(Dennis MacAlistair Ritchie)는 지난 1941년 미국 뉴욕 브론즈빌에서 태어나 뉴저지에서 아버지와 함께 자랐다. 그의 아버지 알리스테어 리치는 벨 연구소에서 스위칭 시스템 엔지니어로 일했다.

데니스 리치가 컴퓨터를 처음 만난 시기는 하버드 재학 시절 '유니박1' 강의를 들으면서다. 그는 1963년 하버드 대학에서 물리학 학위를 받았다. 이후 메인프레임을 더 작고 싼 컴퓨터로 옮기는 연구를 처음 시작한 매사추세츠 공대(MIT)로 자리를 옮긴 뒤 1967년부터 벨 연구소로 들어간다.

벨 연구소는 깨지지 않고 오래 가는 반도체, '트랜지스터'가 태어난 곳으로도 알려져 있다. 트랜지스터가 세상에 나온지 20년이 흐른 당시 MIT는 세계 디지털 혁신의 최전방에 있었던 것으로 묘사된다.

■멀틱스를 유닉스로

특히 벨 연구소는 '멀틱스(Multics)'라는 운영체제(OS) 개발 프로젝트의 고향이기도 하다. 멀틱스는 '일괄처리(batch processing)' 방식을 상호작용(interactivity) 방식으로 대체하는 아이디어로 출발했다.

일괄처리란, 프로그램이 입력받은 작업 목록을 한꺼번에 수행하는 방식을 가리킨다. 반면 상호작용 방식이란, OS가 돌리는 소프트웨어(SW)를 만드는 프로그래머나 이를 실행하는 일반 사용자가 직접 그 작업방식을 제어할 수 있는 것이다.

벨 연구소에는 리치의 동료 프로그래머 케네스 톰슨도 있었다. 벨 연구소는 향후 멀틱스 연구를 중단했지만 리치와 톰슨은 그 OS 설계의 핵심이 되는 상호작용과 협업에 대한 아이디어를 버릴 수 없었다. 톰슨은 '유닉스(Unix)'라 명명한 멀틱스 후속 OS를 연구하기 시작했다. 리치도 곧 그 작업에 동참했다.

연구를 계속 진행하던 리치와 톰슨은 새로운 시스템이 필요해졌다. 특허 관련 부서에서 쓸 더 좋은 워드프로세싱 시스템이 필요하다는 식으로 연구소가 디지털 이큅먼트 코퍼레이션(DEC)에서 만든 'PDP-11'을 사게 만들었다. 앞서 이들은 PDP-11 이전 기종인 PDP-7에서 돌아가는 유닉스를 만드는 중이었다. 유닉스는 벨 연구소에서 확산되다가 1973년 발표된다.

■C 프로그래밍 언어

지디넷은 1970년대 중반이 컴퓨터 하드웨어 설계 분야에서 굉장히 실험적이고 다양한 사례를 배출한 시기였다고 평한다.

당시 소프트웨어를 만드는 이들이 했던 일은 범용 OS 없이 특정한 장치 하나에서 돌아가는 제한적인 프로그램을 만들거나 아니면 기존에 만든 작업물들을 새 플랫폼이 나올 때마다 그에 맞춰 돌아가도록 재창조하느라 엄청난 시간과 노력을 쏟아붓는 것이었다.

이런 문제 때문에 리치는 'C'라는 이름의 컴퓨터 언어를 고안해냈다. C는 서로 다른 하드웨어 사이에서 돌아가는 프로그램을 만들 때 이전보다 더 쉽고 빠르게 옮길 수 있게 해줬다. C 언어가 정한 규칙대로 만들어진 프로그램들은 다른 컴퓨터 환경의 C 언어 환경에서도 거의, 또는 전혀 고치지 않고 그대로 돌릴 수 있었기 때문이다.

톰슨과 리치는 유닉스를 C 기반 언어로 다시 만들었다. 유닉스가 서로 다른 하드웨어 환경을 쉽게 옮아다닐 수 있도록 하기 위해서였다. 이후 프로그래머들은 한 OS와 한 언어와 한 개발도구를 익힌 뒤 이 기술을 거의 보편적인 시스템에 적용해 쓸 수 있었다. 또 하드웨어 제조사들이 C 언어를 새 컴퓨터 설계에 반영함으로써 해당 기기를 기존처럼 제한적인 용도가 아니라 광범위하게 적용케 됐다. 기존 C 언어 기반으로 만들어진 소프트웨어와 기술을 C 언어를 탑재한 새 컴퓨터도 쓸 수 있었던 덕분이다.

실험적인 용도로 태어났던 유닉스는 점점 발전해 실용적 환경에서 서로 다른 시스템간의 상호 통신 기능을 수행하는 방향으로 발전하게 된다. 이는 당초 설계 과정상 의도치 않았던 작용이었으며, 컴퓨팅이 문화 경제적 측면에서 힘을 발휘하게 된 결과 세계를 지속적으로 변화시키게 된 점이 가장 중요한 국면이었다고 지디넷은 지적했다.

이같은 '혁명'을 가속한 것은 리치가 브라이언 커닝헌과 공동 집필한 책 'C 프로그래밍 언어'였다. 두 사람 이름의 머릿글자를 딴 'K&R'로도 알려진 이 얇은 책은 1978년 출간돼 C 언어에 대한 간명한 정의와 그 프로그래밍 언어를 다루는 기술과 형식을 탁월하게 확산시키는 역할을 했다. 이 책은 현재도 프로그래머들에게 영감과 실용적인 도움의 원천으로 남아 있다.

■정신적 후예들

유닉스와 C의 직간접적 자손들은 헤아릴 수 없이 많다. 잘 알려진 리눅스, 안드로이드, 맥OS와 iOS, 자바스크립트, C++ 등이 그에 포함된다. 이 기술들 모두 인터넷의 천재 또는 전세계에 활동하는 개발자들을 통해 생명력을 이어가고 있다. 또 벨 연구소와 그 모기업 AT&T가 관련 소프트웨어를 통해 상업적으로 이용할 수 있는 수단은 법적으로 한정돼 있다. 즉 유닉스와 C에 기반한 실제 코드들은 종종 '사실상 표준'화된 개방형 시스템으로 설계된다. 반독점법이 이에 대한 표준 라이선스를 통한 수익화를 금지했기 때문이다.

리치는 IT 산업계의 '앞선 정신적 지주'라는 이미지에 들어맞는 생활방식과 습관을 보여왔다고 한다. 길게 자란 머리칼과 덮수룩한 턱수염이 돋보이는 외모와 이른 아침보다는 늦은 밤중에 일하기를 좋아하는 것으로 유명했던 일과 등이 그것이다. 그는 '업계 표준적으로' 어지럽혀진 자기 사무실에서 대낮쯤 시작한 일을 늦은 밤까지 계속했다. 집으로 돌아가서도 결국은 벨 연구소 컴퓨터에 연결된 임대 회선을 통해 몇시간씩 업무를 이어갔다고 한다.

관련기사

리치는 말년에 관리자로 활동했다. 그는 회의중 필요하다면 때때로 점심시간을 앞두고도 팀원들을 사납게 대하는 모습도 보일 수 있었다고 지디넷은 전했다. 또 그의 일과 삶은 완전히 서로 맞물려 있어서, 그의 유명했던 위트와 생활방식은 그가 평생 이끌렸던 컴퓨팅이란 주제와 따로 떼어놓고 생각할 수 없다고 덧붙였다.

이후 그는 루슨트 테크놀로지 시스템의 소프트웨어 연구부서를 이끌다가 지난 2007년 은퇴했다. 그 뒤 그와 동료 톰슨은 산업계에 쌓은 업적과 그간의 공로를 인정받아 1983년 'ACM 튜링 상'과 1998년 '국가기술혁신 메달'을 포함한 수많은 상을 받았다고 전해진다.