데니스 리치(Dennis M. Ritchie): 디지털 세계 문법의 조용한 저자
과거 한 컴퓨팅 컨퍼런스에서 데니스 리치는 자신의 이름이 이끄는 인정을 받는 대신, 낯선 사람과 명찰을 맞바꾸고 방해받지 않은 채 실무 이야기를 나누곤 했다. 프로그래밍 언어와 운영 체제라는 두 가지 창작물이 오늘날 지구상의 거의 모든 전화기, 서버, 노트북 아래에 자리 잡고 있음에도, 동료의 말처럼 "조용하고 대체로 사적인 사람"으로 남아 있던 그에게 참으로 어울리는 모습이다.
하버드, 물리학, 그리고 컴퓨팅으로의 우회
데니스 맥캘리스터 리치(Dennis MacAlistair Ritchie)는 1941년 9월 9일 뉴욕주 이스트체스터의 브롱크스빌에서 벨 연구소 과학자의 아들로 태어났다. 1963년 하버드대학교에서 물리학 학사 학위를, 1968년 응용수학 박사 학위를 취득한 후, 1967년 벨 전화 연구소(Bell Telephone Laboratories)에 입사하여 자신의 전체 경력을 정의하게 될 회사로 아버지의 뒤를 이어 들어갔다. 그의 박사 학위 연구는 일부 기록에서 설명하듯 형식적인 의미에서 기술적으로 미완성 상태로 남았으나, 그 무렵에는 물리학이 아닌 컴퓨팅이 그를 사로잡았었다.
멀틱스에서 구석의 PDP-7으로
벨 연구소에서의 초기 시절 리치는 MIT, 벨 연구소, 제너럴 일렉트릭이 공동으로 구축한 야심 찬 시분할 운영 체제인 멀틱스(Multics)에 매진했다. 1969년 AT&T가 비용이 많이 들고 다루기 힘든 이 프로젝트에서 손을 뗄 때, 리치와 동료 켄 톰슨(Ken Thompson)은 유휴 상태의 DEC PDP-7 미니컴퓨터와 승인된 프로젝트가 없는 상태에 놓였다. 그 후 몇 달 동안 이어진 것은 더 간결하고 우아한 후속작의 탄생이었다. 톰슨과 리치는 멀틱스가 바로크 양식처럼 복잡했던 것과 대조적으로 의도적으로 단순하게 만들고, 작고 조합 가능한 도구 세트가 거대하고 비대한 단일체보다 더 많은 일을 할 수 있다는 아이디어를 중심으로 운영 체제를 구축했으며 이를 유닉스(Unix)라 불렀다.
유닉스를 발전시키기 위한 C 설계
유닉스의 초기 버전은 주로 어셈블리 언어로 작성되어 시스템을 특정 하드웨어에 단단히 묶어두었는데, 이는 새로운 이식 가능한 운영 체제가 해결해야 했던 바로 그 문제였다. 1971년에서 1972년 사이, 팀이 유닉스를 PDP-11에 이식하기 위해 작업하는 동안 리치는 톰슨의 이전의 더 제한적인 "B" 언어를 바탕으로 C 프로그래밍 언어를 설계했다. C는 어셈블리에 필적하는 저수준 제어 기능을 프로그래머에게 제공하는 동시에 기기 간 이식성을 유지했으며, 1973년까지 리치와 톰슨은 유닉스의 핵심을 C로 재작성했다. 이 결정 덕분에 유닉스는 이전의 어떤 운영 체제도 달성하지 못한 속도와 충실도로 새로운 하드웨어로 확산될 수 있었다. C와 유닉스는 서로를 강화했다. 유닉스는 C와 같은 언어가 무엇을 구축할 수 있는지 보여주었으며, 유닉스를 등에 업고 확산된 C는 10년 안에 세계에서 가장 널리 사용되는 프로그래밍 언어 중 하나가 되었고, 나중에는 C++, 자바(Java) 및 오늘날 소프트웨어를 지배하는 C 계열 혈통의 많은 부분을 낳았다.
책, 매뉴얼, 그리고 표준
1978년 리치는 브라이언 커니핸(Brian Kernighan)과 함께 《C 프로그래밍 언어(The C Programming Language)》를 공저했다. 이 얇고 정밀하게 집필된 책은 공식 표준화 이전 수년간 언어의 사실상의 명세서가 되었으며, 여러 세대의 프로그래머들에게 첫 번째 코드 줄을 가르치는 데 여전히 사용되는 "Hello, world" 예제를 소개했다. 그는 앞서 1971년에 《유닉스 프로그래머 매뉴얼(Unix Programmer's Manual)》을 저술하여 벨 연구소의 최초 사용자들을 위해 시스템을 문서화했다. 1990년 리치는 벨 연구소의 시스템 소프트웨어 연구 부서 책임자가 되었으며, 그곳에서 유닉스를 탄생시킨 것과 동일한 설계 철학의 확장판이자 상업적으로는 덜 성공적이었으나 기술적으로는 영향력 있는 플랜 9(Plan 9) 및 인페르노(Inferno) 운영 체제를 감독했다.
서서히, 그리고 한꺼번에 찾아오는 인정
리치와 톰슨은 유닉스 작업으로 1983년 컴퓨팅 최고 영예인 튜링 상(Turing Award)을 공동 수상했다. 이 상의 공헌문은 유닉스의 엄청난 후속 영향력에 대한 공로로 이 운영 체제의 "일반적인" 설정을 꼽았다. 리치는 같은 해 벨 연구소 펠로(Fellow)로 임명되었고, 1988년 미국 공학 한림원에 선출되었으며, 1999년에는 클린턴 대통령으로부터 톰슨과 함께 국가 기술 훈장을 받았다. 2011년 세상을 떠나기 직전에는 일본상을 받았다. 그럼에도 불구하고 리치는 비슷한 중요성을 가진 동료들에 비해 공적 생활에서 대개 벗어나 있었으며, 인터뷰를 거의 하지 않고 실리콘밸리의 일부 동시대인들에게 붙은 그러한 명성을 피했다.
사망
리치는 오랜 투병 끝에 2011년 10월 뉴저지주 버클리 하이츠의 자택에서 70세를 일기로 사망했으며, 말년에는 공론의 장에서 대개 물러나 있었다. 스티브 잡스(Steve Jobs)의 사망과 불과 며칠 차이를 두고 일어난 그의 죽음은 상대적으로 차분한 보도를 이끌어냈는데, 잡스 자신의 제품의 기반이 되는 운영 체제가 리치의 작업에서 직접 유래했다는 점을 감안할 때 기술계의 많은 사람들이 날카롭게 지적한 불균형이었다.
데니스가 천재라 불리는 이유
천재라는 단어에 대한 리치의 근거는 특정하고 잘 문서화된 종류의 지적 성취, 즉 하나의 연구실 미니컴퓨터를 사용할 수 있게 만드는 원래의 좁은 목적을 훨씬 넘어 오랫동안 지속되고 생성적인 것으로 증명된 추상화(언어, 운영 체제의 파일 및 프로세스 모델)를 설계하는 데 있다. 롭 파이크(Rob Pike)를 포함하여 그와 함께 일했던 동료들은 그를 단순히 성취를 이룬 사람이 아니라 "진정으로 위대한 정신"이라고 불렀으며, 유닉스에 대한 튜링 상 위원회의 공헌문은 한 회사의 내부 문제를 해결하기 위해 만들어졌으나 세계 컴퓨팅 인프라의 대부분의 기반이 될 수 있을 만큼 유연했던 설계의 보편성을 명시적으로 칭찬했다. 이는 장인 정신이나 카리스마와는 진정으로 다른 차원의 성취이다. 그것은 이를 평가할 능력이 있는 동료들에 의해 판단되고, C와 유닉스 후손 모두의 거의 보편적인 채택이라는 후속 50년에 의해 검증된 개념적 공학이다. 솔직한 복잡성은 리치가 드물게 혼자 일했다는 점이다. 유닉스는 톰슨과의 명백한 공동 창작물이었고, C의 설계는 이전 언어들에 이미 돌던 아이디어를 흡수했기에, 여기서의 천재성은 단 한 번의 전례 없는 도약이라기보다는 협력적이고 점진적이며, 리치 자신이 실무 공학 작업이라고 여긴 것에 대해 과장된 표현이라며 그 낙인을 거부했을 것이라는 점이다.
유산
유닉스의 후손과 재구현물(리눅스, BSD, macOS의 다윈(Darwin) 코어 등)은 현재 전 세계 서버, 전화기, 임베디드 기기의 압도적인 다수를 구동하고 있으며, C는 창작 반세기 후에도 운영 체제 및 시스템 프로그래밍 작업의 기초로 남아 있다. 리치의 영향력은 거의 표면 아래에서 작동한다는 점에서 이례적이다. 소비자 대상 기술자들과 달리 그의 이름은 뉴저지의 연구실 책상에서 그가 구축한 도구에 수십억 명의 사람들이 알지 못한 채 매일 의존하고 있음에도 불구하고 컴퓨팅 외부에서는 대부분 알려져 있지 않다.
