켄 톰슨은 데니스 리치와 함께 현대 운영체제의 시조격인 유닉스를 만든 전설적인 개발자입니다. 벨 연구소에서 멀틱스 운영체제 개발에 참여했습니다. 멀틱스 프로젝트가 좌초된 후  구형 컴퓨터 PDP-7에서 동작하는 자신이 만들던 'space travle'게임을 계속 만들기 위해 데니스 리치와 함께 새로운 운영체제를 만들기 시작합니다. 이것이 바로 유닉스의 시작입니다.

유닉스를 만들던 과정에서 더 나은 프로그래밍 언어의 필요성을 느끼고, 만듭니다. 이것이 바로 B언어이고, 데니스 리치는 B 언어를 계량하여 C언어를 만듭니다. 

유닉스를 개발하던 캔 톰슨은 강력한 여러 도구도 많이 만들었는데, 그 중 하나가 바로 grep 입니다. 텍스트 파일에서 특정 패턴을 찾아내는 명령어입니다. 지금도 시스템 관리자들이 많이 사용하고 있습니다.

이후 1990년대 초 각 나라의 언어를 표현하는 인코딩 방식이 달라서 호환성에 많은 문제가 발생했습ㄴ디ㅏ. 켄 톰슨은 롭 파이크와 함께 UTF-8이라는 문자 인코딩 방식을 고안합니다. UTF-8은 영문자의 경우 기존 ASCII코드처럼 1바이트만 사용하며, 다른 문자들은 여러 바이트를 사용합니다. 한글은 3바이트로 표현됩니다.

벨 연구소를 떠나 구글에 합류한 그는 롭 파이크와 함께 단순하고 빠른 Go언어를 만듭니다.

1983년 튜링상을 수상했습니다.

 


"망설여질 땐, 무차별 대입(Brute Force)을 사용하라." (When in doubt, use brute force.)

 

 

"나의 가장 생산적인 날 중 하나는 1000줄의 코드를 버렸을 때였다." (One of my most productive days was throwing away 1000 lines of code.)

 

 

"유닉스의 가장 훌륭한 아이디어는 깔끔하고 단순한 인터페이스였다".

 

"전적으로 직접 작성하지 않은 코드는 신뢰할 수 없다".

 

"프로그래밍 언어에는 두 종류가 있다. 사람들이 불평하는 언어와 아무도 쓰지 않는 언어"

 

"우리는 영구적인 객체(persistent objects)를 가지고 있는데, 그것을 '파일(files)'이라고 부른다".

 

"기존과는 다른 시각(take an orthogonal view of something)으로  접근하는 것은 항상 좋다. 아이디어 발전에 도움이 된다."

 


 

튜링상 수상 연설

켄 톰슨이 회상한 유닉스의 소란스럽고 자물쇠를 따던 시절

 

 

 

 

 

 

+ Recent posts