유닉스의 역사를 읽고

브라이언 커니핸이 벨 연구소에서 일하면서 보았던 것들의 대한 회고록이자 유닉스와 C, 그리고 벨 연구소에 대한 이야기이다.

우리는 모두 유닉스의 유산을 공유하고 있다. 리눅스, FreeBSD, 맥 OS, HP-UX, 솔라리스 등에 이르기까지 POSIX 호환 운영체제는 모두 유닉스의 계보를 잇는다고 할 수 있다.

그러니까 이 책은 현대 컴퓨터의 과거에 대한 이야기다. 천공카드와 복잡하고 어셈블러를 사용하던 시대에서 고급언어인 C 언어와 유닉스의 시대가 온 과정과 결국 AT&T가 독과점법으로 미국 법무부에 제소 되면서 찢어지는 과정에서 벨 연구소의 전성기가 지는 과정까지 브라이언의 회고를 통해 이야기 된다.

브라이언은 안정적인 재정과 자유로운 분위기가 유닉스라는 혁신을 만들었다고 한다. 그리고 현대에는 주주의 눈치를 보며, 단기적인 성과에 힘쓰는 것을 안타깝게 여긴다. 하지만 이런 혁신이 다시 오지 않으리라고 자신 있게 말하긴 어렵다면서, 언젠가는 또 이런 혁신이 오지 않겠냐는 낙관적인 전망을 했다.

나는 오타쿠적으로 컴퓨터를 좋아하는 입장에서 모든 이야기가 흥미로웠다. 무언가 감상이 필요할 정도의 글은 아니지만, 그럼에도 불구하고 옛날 이야기를 눈을 반짝거리며 듣는 어린 아이처럼 모든 이야기를 흥미롭게 들었다.

그들은 정말 천재였을지도 모르지만, 각자 자기 능력을 잘 알고 있었고, 그걸 잘 활용했다고 말하는 편이 맞을지도 모르겠다. 기술이 성숙해지는 단계에서 일어났던 이야기들이고, 회고록이기에 어렵지 않게 느껴질 수도 있겠다. 하지만 그들은 기존 세상에 없던 문제를 재정의하고 풀어낸 사람들이니까, 지나고 보면 뭐든 어렵지 않은 법이다. 그냥 그런 마음을 담아 흥미롭게 읽었던 책이다.

마지막으로 글에도 쓰여 있는 유닉스 철학을 적으며,, 글을 마무리해본다.

  1. 각 프로그램이 한 가지 일을 잘하게 만들라. 새로운 일을 하려면 오래된 프로그램에 새로운 ‘기능’을 추가함으로써 복잡하게 만드는 대신 프로그램을 새로 만들라.
  2. 모든 프로그램의 출력이 다른(아직 알려지지 않은) 프로그램의 입력이 될 것을 예상하라. 프로그램의 출력에 관련 없는 정보를 집어넣지 말라. 엄격히 열로 구분되거나 바이너리 형식으로 된 입력을 피하라. 대화식 입력 방식을 고집하지 말라.
  3. 소프트웨어를(심지어 운영체제라도) 일찍, 이상적으로는 수주 이내에 사용해볼 수 있게 설계하고 구축하라. 어설픈 부분을 버리고 다시 구 축하는 것을 망설이지 말라.
  4. 프로그래밍 과제의 부담을 덜고자 할 때 비숙련자의 도움보다는 도구를 우선적으로 사용하라. 도구를 구축하기 위해 시간이 더 걸리고 도구를 사용한 다음에 일부는 버려야할 것으로 예상하더라도 그렇게 하라.

댓글 남기기