Rob Pike와 Brian Kernighan이 제시한 UNIX 설계 원칙과, 오늘날 UNIX가 그들이 경고했던 실수를 되풀이하게 된 과정에 관한 글입니다.
1983년 USENIX 하계 콘퍼런스에서 Rob Pike는 ‘UNIX 스타일, 또는 cat -v가 해로운 것으로 간주되는 이유’라는 제목의 발표를 했고, Brian Kernighan과 함께 ‘UNIX 환경에서의 프로그램 설계’라는 논문을 썼다(pdf 버전, ps 버전). 이 논문은 1984년 10월, 제63권 제8호 제2부의 AT&T Bell Laboratories Technical Journal에 실린 기사로 출판되었다.
이는 오늘날 _Unix의 성서_로 여겨지는 그들의 유명한 책 The Unix Programming Environment (Prentice-Hall Software Series)의 서곡이었다.
안타깝게도 그들의 조언은 완전히 무시되었고, 오늘날 Unix는 바로 그들이 경고했던 종류의 실수들로 인해 잠식되었다.
Bell Laboratories
Murray Hill, NJ (dec!ucb)wav!research!rob
UNIX는 UCB 같은 조직들의 손에서 암성 증식의 희생양이 된 듯하다. 4.2BSD는 버전
5보다 규모가 한 자릿수만큼 더 크지만, Pike의 주장에 따르면 열 배 더 낫지는 않다.
이 발표는 UNIX가 인기 있는 이유를 검토하고, UCB의 cat을 주요 사례로 삼아
UNIX가 어떻게 비대해졌는지 보여 준다. cat은 줄 번호를 붙여 파일을 출력하기 위한
것도 아니고, 여러 빈 줄을 압축하기 위한 것도 아니며, 출력되지 않는 ASCII 문자를
보기 위한 것도 아니다. 파일을 연결하기 위한 것이다.
ls는 하나의 열을 여러 열로 나누는 코드를 넣을 곳이 아니며, mailnews는 자체적인
more 처리나 농담성 암호화 코드를 가져서는 안 된다는 점도 상기시킨다.
Rob은 “UNIX 정신”의 기치를 훌륭히 지켰으며, 곧 출간될 그의 책에서 UNIX 철학을
더 깊이 살펴볼 수 있을 것이다.