유닉스의 탄생 본문

Programming

유닉스의 탄생

halatha 2021. 6. 29. 12:43

제목에서 알 수 있듯 책을 읽는다고 해도 프로그래밍에 대해 배울 수 있는 책은 아니지만, 프로그래밍을 조금이라도 아는 사람들에겐 흥미있는 이야기들도 가득하다. 일단 저자부터가 The C Programming Language로 유명한 사람이고, 등장 인물들도 대부분 전설적인 개발자들이다. 개인적으로는 첫 직장에서 지금은 사라진 Sun microsystem의 SVR4에서 일을 배우고 시작했기에 해당 부분을 읽으면서 유난히 더 반가웠다. 워낙 좋은 책이고 좋은 서평도 많아서 내가 특히 인상깊었던 부분들만 몇 가지 골라봤다.

  1. 벨 연구소의 환경
    우리가 흔히 상상하는 이상적인 연구소의 모습, 지원하되 간섭하지 않는 환경을 보여준다. 이런 환경이 뒷받침되었기에 천재적인 개발자들도 마음껏 연구하고 이런 멋진 결과들을 계속 만들어냈던 거 같다. 항상 소프트웨어 개발사의 모습이 어때야 하는지 논의가 많은데, 결국 지향점은 벨 연구소에서 이미 충분히 보여준 거 같다. 공교롭게도 반독점법에 의해 AT&T가 나뉘면서 연구소도 나뉘었는데 그 이후로는 예전만 못한 모습을 보인다.
  2. 문서화
    지금이야 자료들이 많이 있고 여러가지 예시도 비교적 쉽게 찾을 수 있어서 man page를 잘 보지 않지만, 당시만 해도 검색 엔진같은 건 존재하지 않던 시절이고, 누군가에게 배우거나 책이 있지 않으면 스스로 소스코드를 읽어서 이해할 수 있어야 프로그램 사용 방법도 알 수 있던 시절이었다. 그런 환경에서 man이란 명령어로 사용방법부터 known bug까지 기술해 놓은 걸 보면 다른 모든 부분처럼 문서화에서도 선구자였다.
  3. 애자일?
    UNIX 철학의 한 가지가 소프트웨어를 가능한 빨리, 수 주 이내에 사용할 수 있게 설계하고 구축하며, 어설픈 부분을 버리고 다시 만드는 걸 망설이지 않는 것이다. 이 부분을 읽으면서 빨리 동작하는 소프트웨어를 만들고 피드백을 받아 보완을 하는 애자일 방식이 연상이 되었다. 개발 방법론도 이렇게 시작했지만, 규모가 커지면서 waterfall같은 방식으로 변했는데 결국은 다시 UNIX 철학을 바탕에 둔 애자일로 돌아왔나 싶다.

OS를 직접 개발하는 사람이 아니더라도 이런 전설적인 개발자들의 이야기는 얕게는 기분 전환에 도움이 되고, 깊게는 자신의 개발 영역에 어려운 일이 있을 때 영감을 제공할 수 있다. 개발자라면 누구에게나 추천한다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다

Comments