상위 질문
타임라인
채팅
관점

C 프로그래밍 언어 (책)

위키백과, 무료 백과사전

C 프로그래밍 언어 (책)
Remove ads

C 프로그래밍 언어(The C Programming Language, 저자의 이니셜을 따서 K&R)는 브라이언 커니핸데니스 리치가 쓴 컴퓨터 프로그래밍 책이다. 데니스 리치는 C 프로그래밍 언어를 처음으로 설계하고 구현했으며, 언어 개발과 밀접하게 연관된 유닉스 운영체제를 공동 설계했다. 이 책은 C 언어의 개발과 대중화에 중요한 역할을 했으며, 오늘날에도 널리 읽히고 사용되고 있다. 이 책이 원본 언어 설계자에 의해 공동 저술되었고, 초판이 수년 동안 언어의 데 팍토 표준 역할을 했기 때문에 많은 사람들이 이 책을 C 언어에 대한 권위 있는 참고 자료로 여겼다.[1][2]

Thumb

역사

C는 1970년대 초 벨 연구소데니스 리치켄 톰프슨B 언어의 확장 버전으로 만들었다.[3] 또 다른 벨 연구소 직원인 브라이언 커니핸은 최초의 C 튜토리얼을 작성했으며,[4] 그는 리치를 설득하여 언어에 대한 책을 공동 저술하게 했다.[5] 커니핸은 책의 "설명" 자료 대부분을 썼고, 리치의 참고 매뉴얼은 부록이 되었다.

1978년 2월 22일에 출판된 초판은 C 프로그래밍 언어에 대한 최초의 널리 사용 가능한 책이었다. 이 버전의 C는 때때로 K&R C(책의 저자를 따서)라고 불리며, 이 초기 버전을 나중에 ANSI C로 표준화된 C 버전과 구별하기 위해 사용된다.[6]

1988년 4월, 책의 두 번째 판본이 출판되었는데, 당시 새로운 ANSI C 표준으로 인해 언어에 생긴 변경 사항, 특히 표준 라이브러리에 대한 참조 자료를 포함하도록 업데이트되었다. 이 책의 두 번째 판본(2024년 기준 최신판)은 20개 이상의 언어로 번역되었다.[7] 2012년에는 두 번째 판본의 전자책 버전이 ePub, Mobi, PDF 형식으로 출판되었다.[8]

C는 1989년(ANSI X3.159-1989로)에 처음 표준화되었으며 그 이후로 여러 차례 개정되었다. 그러나 최근 표준을 다루는 새로운 판본의 C 프로그래밍 언어는 발행되지 않았다.

Remove ads

평가

바이트 잡지는 1983년 8월 "[The C Programming Language]는 C 언어에 대한 결정적인 저서이다. 이 책을 읽기 전에는 더 이상 읽지 마라!"고 평가했다.[1] 제리 푸어넬은 그해 잡지에서 이 책이 "여전히 표준 ... 다소 간결하다"고 썼다. 그는 이어서 "커니핸과 리치 없이 C 언어를 배울 수도 있지만, 그것은 어려운 방법이다. C에 대해 이 책만 산다면 너무 힘들게 일하는 것이다."라고 말했다.[9]

영향

The C Programming Language는 명확한 표현과 간결한 처리로 테크니컬 라이팅의 모델로 자주 언급되었다. 예제는 일반적으로 언어의 일상적인 사용에서 접할 수 있는 완전한 프로그램으로 구성되며, 시스템 프로그래밍에 중점을 둔다. 저자들은 다음과 같이 썼다.

우리는 초판의 간결함을 유지하려고 노력했다. C는 큰 언어가 아니며, 큰 책에 잘 담겨 있지 않다. 우리는 C 프로그래밍의 핵심인 포인터와 같은 중요한 기능의 설명을 개선했다. 원본 예제를 다듬고 여러 장에 새로운 예제를 추가했다. 예를 들어, 복잡한 선언에 대한 처리는 선언을 단어로 변환하고 그 반대로 변환하는 프로그램으로 보강되었다. 이전과 마찬가지로 모든 예제는 기계 판독 가능한 형식의 텍스트에서 직접 테스트되었다.

두 번째 판 서문[10]
Thumb
"Hello, World!" 프로그램 by 브라이언 커니핸 (1978)

이 책은 최소한의 C 프로그램을 보여주기 위해 "hello, world"라는 텍스트만 출력하는 "Hello, World!" 프로그램을 소개했다. 그 이후로 많은 텍스트가 프로그래밍 언어를 소개하는 데 이 관례를 따르고 있다.

ANSI C가 등장하기 전에는 초판 텍스트가 C 컴파일러 개발자들에게 사실상의 언어 표준으로 사용되었다. ANSI C 표준화와 함께 저자들은 컴파일러 개발자가 아닌 프로그래머를 위해 두 번째 판을 더욱 의식적으로 작성했으며, 다음과 같이 썼다.

부록 A, 참고 매뉴얼은 표준이 아니라 표준의 본질을 더 작은 공간에 전달하려는 우리의 시도이다. 이는 프로그래머들이 쉽게 이해할 수 있도록 만들어졌지만, 컴파일러 개발자를 위한 정의는 아니다—그 역할은 표준 자체에 속한다. 부록 B는 표준 라이브러리의 기능 요약이다. 이 역시 구현자가 아닌 프로그래머를 위한 참조 자료이다. 부록 C는 원본 버전에서 변경된 사항을 간결하게 요약한 것이다.

두 번째 판 서문[10]

"C 프로그래밍 언어"가 대학 및 산업계에서 C를 처음 접한 프로그래머 세대에 미친 영향으로 인해 많은 사람들이 저자의 프로그래밍 스타일과 관례를 규범적인 실천은 아니더라도 권장되는 실천으로 받아들이게 되었다. 예를 들어, 책의 두 판에 제시된 프로그램의 코딩 및 서식 스타일은 종종 "K&R 스타일"이라고 불리며 유닉스리눅스 커널의 소스 코드에서 관례적으로 사용되는 코딩 스타일이 되었다.

같이 보기

각주

외부 링크

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads