인류에게 ‘컴퓨터 언어’를 선사한 혁명가들
[기상천외한 과학자들의 대결] (20) 데니스 리치와 켄 톰슨
2021.02.01 07:48 김은영 객원기자
컴퓨터는 인류 문명에 지대한 발전을 가져왔다. 이 컴퓨터를 작동하게 만들어주는 것이 바로 ‘프로그래밍 언어’다. 프로그래밍 언어는 인간의 언어를 컴퓨터가 알아들을 수 있도록 변환한 새로운 언어체계다.
데니스 리치(Dennis Ritchie)와 켄 톰슨(Kenneth Lane Thompson)은 인류에게 컴퓨터를 작동시킬 ‘새로운 언어’를 만들어 선물했다. 이들이 만든 C 언어와 유닉스 운영체제가 없었다면 현재의 스마트폰과 컴퓨터가 이렇게 빨리 발전할 수 없었을 것이다.
이들은 C언어와 유닉스(Unix) 개발 공로를 인정받아 1983년 컴퓨터계의 노벨상이라 불리는 튜링상(Turing Award)을 수상한다.
세상에서 가장 많이 쓰는 C언어의 아버지 ‘데니스 리치’
컴퓨터는 0과 1만 구분할 수 있다. 때문에 컴퓨터를 작동시키려면 컴퓨터가 알 수 있는 언어로 프로그래밍을 해야 한다. 데니스 리치는 현대 컴퓨터 업계에서 가장 많이 사용하는 컴퓨터 프로그램 언어를 개발한 천재 프로그래머다.
그는 C 언어와 유닉스(Unix) 시스템을 개발했다. 현재 컴퓨터 프로그래밍에는 자바, 파이썬 등 다양한 프로그래밍 언어들이 사용되고 있다. 이러한 발전은 C 언어가 있었기 때문에 가능했다고 할 수 있다. 또한 이들이 개발한 유닉스 운영체제는 과거 연산 등 단순한 처리만 할 수 있었던 컴퓨터의 기능을 다양하고 강력하게 변화시켰다.
데니스 리치는 1967년 하버드 대학교에서 물리학과 응용수학 학위를 얻은 인재였다. 그는 어린 시절부터 수학과 물리학을 좋아했고 대학에 진학한 후에는 컴퓨터에 큰 관심을 가진다. 그는 컴퓨터로 수학 연산을 더 빨리할 수 있다는 사실에 흥미를 갖고 프로그래밍을 배웠다. 물리학과 전공이었음에도 컴퓨터에 더 관심을 가질 만큼 컴퓨터에 빠져들었다.
데니스 리치는 대학 졸업 후에는 AT&T 벨 연구소에서 켄 톰슨(Ken Thompson)을 만나 유닉스(Unix) 시스템과 C 언어를 개발했다. 그와 브라이언 커니핸이 공동으로 쓴 C 언어 책은 1978년 출간되어 20개 언어로 번역됐다. 이후 지금까지 C 언어는 업계의 표준으로 자리 잡게 됐다. 그는 사망 전까지 왕성한 연구를 계속했고 자신이 만든 언어로 컴퓨터 운영체제까지 만든 기록을 세웠다.
게임하다가 불편해서 새로운 운영체제를 개발한 ‘켄 톰슨’
켄 톰슨 또한 현대 컴퓨터사에서 빼놓을 수 없는 프로그래밍 언어의 선구자다. 켄 톰슨은 C 언어 개발에 지대한 영향을 미친다. 켄 톰슨은 벨 연구소에서 ‘B’ 언어를 만들었고 데니스 리치는 B 언어의 특징을 살려 최종적으로 C라는 이름의 언어를 만들어냈다.
켄 톰슨은 이후 구글의 고(GO) 언어를 공동 창시하기도 할 정도로 뛰어난 천재 프로그래머였다. 켄 톰슨은 버클리 대학을 졸업한 후 벨 연구소에 입사했다. 그는 미니컴퓨터 PDP-7로 게임을 하려고 했지만 당시 운영체제로는 빠르게 돌아가지 않았다. 화가 난 톰슨은 직접 운영체제를 만들기로 한다. 바로 모든 것의 시작점이 된 ‘유닉스’다.
C언어는 유닉스 운영체제 개발을 위해 설계한 언어다. 벨 연구소에서 일하다 버클리 대학교로 돌아온 톰슨은 유닉스를 개조한 운영체제 BSD(Berkeley Software Distribution) 개발에 몰두했다. 켄 톰슨이 객원교수로 있으면서 빌 조이 등과 개발한 BSD는 현재 오픈 OS로 유명한 리눅스의 기원이 됐다.
켄 톰슨과 데니스 리치가 만들어낸 C 언어와 유닉스는 현재의 스마트폰과 태블릿 PC의 기본 바탕이 됐다. 이들이 창조한 것들은 현재 우리가 너무 당연하다고 여기는 컴퓨터 세상을 열었다. 천재 프로그래머들이 인류에게 선사한 근사한 종합선물인 셈이다.
[출처] https://www.sciencetimes.co.kr/news/%EC%9D%B8%EB%A5%98%EC%97%90%EA%B2%8C-%EC%BB%B4%ED%93%A8%ED%84%B0-%EC%96%B8%EC%96%B4%EB%A5%BC-%EC%84%A0%EC%82%AC%ED%95%9C-%ED%98%81%EB%AA%85%EA%B0%80%EB%93%A4/
답글 남기기