2005년 3월 7일 월요일

프로그래밍에 관한 철학서








Art of UNIX Programming
Eric S. Raymond 지음, 김희석 옮김/정보문화사
유닉스나 리눅스게 많은 관심을 가지고 있지 않은 사람이라도 컴퓨터에 관심을 가지고 여러 분야를 공부하다 보면 에릭 레이몬드라는 사람을 한번쯤은 접하게 된다.이책의 필자인 에릭 레이몬드는 유닉스/리눅스 공동체에 여러가지 공헌을 한 프로그래머로서도 많이 알려져 있지만, 몇가지 사건으로 더욱 잘 알려져 있다.

그 첫번째가 시장과 성당 이라는 글을 통해서다. 이 논문은 fetchmail이란 프로그램을 통해서 소프트웨어 개발에서 어떤 스타일이 존재하는지 그리고 어떤 의의를 지니고 있는지 연구한 결과를 담고 있다. 두번째로 Open Source운동의 중심에서 활동한 면을 들 수 있다. 여러가지 의견이 있지만 그는 Open Source운동에서 중심적인 역할을 담당했던 인물이다.

그 이외에도 몇가지 일들로 인해서 그는 유닉스/리눅스 공공체에서는 널리 알려진 인물이 되었으며, 그 이외의 분야에서도 관심을 받 게 되었다.

평소에도 해커 사전이라고 불리는 Jargon File 등을 비롯한 다양한 문서들을 집필, 감독 하였고 활발한 집필활동을 펼치고 있다. 주로 그가 작성한 문서들은 온라인으로 배포가 되었고 변동된 사항이 있으면 추가하여 문서가 업그레이드 되었다. "Art of Computer Programming"역시 온라인으로 존재하며 5년간에 걸쳐서 꾸준하게 작성한 결과물이다.

책은 흐름상 두 부분으로 나뉘어진다. 첫번째는 유닉스의 철학을 설명하는 부분이고 두번째는 그 철학이 어떻게 적용되며, 어떤식으로 작동하지는를 말하는 부분이다. 우리들이 흔히 배우던 교과서에서 보자면 삼각함수의 원리와 그 유례를 설명하는 첫 부분과 예제와 연습문제를 통해서 각 원리들이 어떻게 적용되고 우리는 어떻게 적용시켜 다른 문제를 해결할 수 있는지 알게 되는 것과 같다.

특히, 두번째 부분에서는 성공적으로 유닉스 개발 철학이 적용되어 개발된 소프트웨어들을 살펴본다. 만일 독자가 자신의 프로젝트에 서 적용했을때 어떤 효과를 기대할 수 있을지, 어떻게 적용할 수 있을지 알도록 돕고 있다.

책에서 설명하는 유닉스의 철학은 비단 유닉스에서만 성립는 것이 아니라 소프트웨거 전반적에 걸쳐서 타당하게 적용될 수 있는 내용 들이다. 유닉스 공동체의 이런 철학들은 유닉스가 원래 좋은 소프트웨어고 공동체가 원래 훌륭했기 때문에 발생한 것이 아니다. 단지, 30년이 넘는 세월 동안 프로젝트가 진행되고 소프트웨어가 발전해 오면서 쌓이게 된 지식들이 집합되었기 때문에 그와 같은 철학을 탄생시킨 것이다. 분명 이 책에는 그런 지식들이 포함되어 있다. 어느 정도 도움을 받을 수 있을 건지는 개인에 따라 다르겠지만, 적 든 많든 도움을 얻을 수 있을 거라 생각한다.

책의 제본상태는 훌륭하지만, 몇 군데 오타가 있고, 조금 이해하기 힘든 번역(오역은 아니나 혼란스러웠다)도 준재한다. 하지만, 전체적으로 번역은 잘된 편이다.

이 책을 보면서 몇번이나 소리내어 웃었는지 모른다. 너무 재밌어서 지하철에서도 한손에 들고 시간가는 줄 모르고 읽었었다(책이 작 은 편이 아님에도 불구하고!). 내가 사용하던 프로그램, 내가 프로그래밍 할 때, 생각없이 했던 작업들에 그런 원리가 숨어 있다는데 놀랐고, 나의 프로그래밍 방법에 개선할 점을 알 수 있었다. 비록 유닉스 프로그래밍이란 타이틀을 달고 있지만, 위에서 말한바와 같 이 다양한 분야에 적용될 수 있으며 어느정도 프로그래밍을 해서 자신만의 방법이나 생각같은게 잡힌 사람들에게는 중간 길잡으로써 좋을 거라 생각한다.

인터넷에 전문이 공개되어 있다.

댓글 2개:

  1. [...] 글은 시원한 느낌과 함께 즐거움을 안겨주었다. 특히 얼마전에 읽었던 The Art of Unix Programming과 여러모로 비교되면서 이런 저런 생각을 해볼 수 있어서 즐거움은 배가 [...]

    답글삭제
  2. The Art of Unix Programming...





    The Art of Unix Programming
    2년 전인가 3년전인가에 사고 무척 재미있게 본 책입니다. 요전에 다시 꺼내들어서 읽어보고 있는데 처음 읽었을 때와 느낌이 확 다르더군요. 경력이 늘어서 그런지...

    답글삭제

Man of Month를 마치며

벌써 2020년 1월 14일이다. 19년의 마지막 달에 Man of Month라는 팀의 제도를 시작한다고 했었는데, 12월이 지나고 그 다음 달도 거의 절반이 흐른 것이다. MoM을 시작하면서 하겠다고 계획했던 것들도 실제 한 것들과 비교해보니...