Unix 프로그래밍 환경

The Unix Programming Environment
Unix 프로그래밍 환경
English4.gif
Unix Programming Environment의 전면 커버
작가브라이언 W. 케르니건 그리고 롭 파이크
언어영어
제목컴퓨터 프로그래밍
출판사프렌티스 홀
발행일자
1984
ISBN0-13-937681-X

프렌티스 홀이 1984년 처음 출간한 유닉스 프로그래밍 환경은 벨랩스(Bell Labs)의 브라이언 W. 케르니건과 파이크 으로 유닉스 운영체제의 중요하고 초기 문서로 꼽힌다.

유닉스 철학

이 책은 표준화된 입력과 출력을 가진 소규모 협력 도구의 유닉스 철학을 다루고 있다. Kernighan과 Pike는 Unix 설계와 Unix 철학을 간략하게 설명한다.[1]

UNIX 시스템은 수많은 혁신적인 프로그램과 기술을 도입하지만, 어떤 프로그램이나 아이디어도 그것을 잘 작동시키지는 못한다. 대신, 그것을 효과적으로 만드는 것은 컴퓨터 사용의 철학인 프로그래밍에 대한 접근법이다. 비록 그 철학이 한 문장으로 적을 수는 없지만, 그 중심에는 어떤 시스템의 힘은 프로그램 자체보다는 프로그램 간의 관계에서 더 많이 나온다는 생각이 있다. 많은 UNIX 프로그램들은 별개로 아주 사소한 일들을 하지만, 다른 프로그램과 결합되어 일반적이고 유용한 도구가 된다.

저자들은 또한 이 책의 목표가 "유닉스 프로그래밍 철학을 전달하는 것"[1]이라고 쓰고 있다.

내용 및 주제

이 책은 초보자를 위한 유닉스의 소개로 시작한다. 다음으로 파일 시스템의 기본에 들어간다. 독자는 필터의 사용에서부터 강력한 유닉스 애플리케이션을 프로그래밍하는 데 C를 사용하는 방법, 그리고 grep, sed, make, awk의 기본에 이르기까지 다양한 주제를 통해 이끌어진다. 이 책은 yacc로 프로그래밍 언어 파서를 만들고 ms와 mm로 트로프를 사용하여 문서를 포맷하는 방법, preprocessor tbl, eqn, pic, man 매크로 세트와 함께 man page를 만드는 방법에 대한 튜토리얼로 마무리된다. 부록은 Ed 편집기와 위에 언급된 프로그래밍 언어인 hort를 포함하며, 이것은 "고차 계산기"를 의미한다.

역사적 맥락

이 책은 이 책이 출간된 지 수십 년이 지난 지금도 유닉스가 존재하지만, 이미 성숙된 유닉스에 대해 기술하고 있다: 1984년 유닉스는 이미 15년(69년 이후) 동안 개발되어 왔으며, 10년 전에 동료 검토 저널(SOSP, 1974년, "유닉스 타임스헤어링 시스템"), 그리고 적어도 7개의 공식판 매뉴얼에 게재되었다. 게시되었다(Version 7 Unix 참조). 1984년에는 이미 여러 상업 및 학술적인 UNIX 변종이 존재했으며(예: Xenix, SunOS, BSD, UNIX System V, HP-UX), 1년 전 Dennis RitchieKen Thompson은 UNIX에 대한 업적으로 권위 있는 Turing Award를 수상했다. 이 책은 유닉스(UNIX)가 막 시작했을 때가 아니라, 들어오던 수많은 신규 사용자들을 위해 출판된 책으로 가치가 있을 만큼 이미 인기가 있을 때 쓰여졌다.

돌이켜보면 1984년은 유닉스의 진화의 초기 단계가 아니었을 뿐만 아니라, 어떤 면에서는 유닉스 진화의 종말이었다, 적어도연구소에서는. 중요한 UNIX 변종들은 이미 AT&T의 Research Unix에서 제외되었다. 시스템 V는 1983년에 출판되었고, BSD는 1979년 제7판 유닉스에 기반을 두었으며, 대부분의 상용 유닉스 변형은 시스템 V, BSD 또는 이 두 가지 조합에 기반을 두고 있었다. 제8판 유닉스는 이 책의 바로 뒤에 나왔고, 벨 연구소(제9판과 제10판)에서의 유닉스 추가 개발은 벨 연구소(Bell Labs)에서 플랜 9로 진화할 때까지 결코 Bell Labs 밖에서는 성공하지 못했다.

C 프로그래밍 스타일

이 책은 ANSI C가 처음 초안되기 전에 쓰여졌다. 그 안에 있는 프로그램들은 오래된 K&R 방식을 따른다. 그러나 이 책의 웹사이트에서 이용할 수 있는 소스 코드는 ANSI C 적합성을 위해 업데이트되었다.

임계수신호

벤 에버라드 리눅스보이스(Ven Everard for Linux Voice) 기술 편집자는 이 책이 30세임에도 불구하고 관련 문서를 제공하고 있으며 Linux에 대해 잘 모르는 프로그래머 지망생에게 좋은 책이라고 칭찬했다.[2]

에디션

메모들

  1. ^ a b Kernighan, Brian W.; Pike, Rob (1984). The UNIX Programming Environment. p. viii.
  2. ^ "Linux Voice – Issue 6" (PDF). Linux Voice. September 2014. p. 52. ISSN 2054-3778. {{cite magazine}}: Cite 매거진 요구 사항 magazine= (도움말)