C 프로그래밍 언어
The C Programming Language작가 | 브라이언 커니건 데니스 리치 |
---|---|
언어 | 영어 |
제목 | C 프로그래밍 언어 |
출판사 | 프렌티스 홀 |
발행일자 | 1978년 (제1판) 1988년 (제2판 |
ISBN | 9780131101630 |
C Programming Language(때로는 K&R로 불리기도 한다)는 브라이언 케르니건과 데니스 리치가 쓴 컴퓨터 프로그래밍 책자로, 이 언어의 발전이 밀접하게 얽혀 있는 유닉스 운영체제의 공동 설계와 실행도 했다. 이 책은 C 프로그래밍 언어의 발전과 대중화의 중심이었고 오늘날에도 널리 읽혀지고 사용되고 있다. 왜냐하면 이 책은 원래 언어디자이너가 공동저술한 것이기 때문에, 그리고 이 책의 초판이 여러 해 동안 언어의 사실상의 표준으로 작용했기 때문에, 많은 사람들이 이 책을 C에 대한 권위 있는 참고자료로 여겼다.[1][2]
역사
C는 1970년대 초 벨 연구소에서 데니스 리치에 의해 켄 톰슨의 B를 증축한 버전으로 만들어졌다.[3] Bell Labs의 또 다른 직원 Brian Kernighan은 첫 번째 C 튜토리얼을 썼고,[4] 그는 Ritchie를 설득하여 언어에 관한 책을 공동 저술했다.[5] 케르니건은 이 책의 "expository" 자료의 대부분을 쓰곤 했는데, 리치의 참조 매뉴얼이 그 부록이 되었다.
1978년 2월 22일에 출판된 초판은 C 프로그래밍 언어에 관한 최초의 널리 보급된 책이었다. 그것의 C 버전은 때때로 K&R C (이 책의 저자들 뒤에)라고 불리며, 종종 이 초기 버전을 ANSI C로 표준화된 C의 후기 버전과 구별하기 위해 사용된다.[6]
1988년 4월, 이 책의 제2판이 출판되어 당시 새로운 ANSI C 표준에 따른 언어의 변화를 다루기 위해, 특히 표준 라이브러리에 참고 자료를 포함시켰다. 이 책의 제2판(2021년 현재, 가장 최근)은 이후 20개 이상의 언어로 번역되었다. 2012년에는 ePub, Mobi, PDF 형식으로 제2판의 eBook 버전이 발행되었다.
1989년(ANSI X3.159-1989년)에 처음 표준화된 ANSI C는 이후 여러 차례의 개정을 거쳤으며, 그 중 가장 최근의 것은 ISO/IEC 9899:2018(C17 또는 C18이라고도 함)으로 2018년 6월에 ANSI 표준으로 채택되었다. 그러나, 더 최근의 표준들을 다루기 위해 C 프로그래밍 언어의 새로운 판은 발행되지 않았다.
리셉션
1983년 8월 《Byte Magazine》에서 《[C 프로그래밍 언어]》는 C언어에 관한 결정판이다. 이 책이 나오기 전까지는 더 이상 읽지 마!" 제리 푸넬은 그 해 잡지에서 이 책이 "아직 표준이긴 하지만... 좀 지루하다"고 썼다.[1] 그는 이어 "케르니건과 리치를 얻지 않고도 C언어를 배울 수 있지만, 그게 힘든 방법이야. C에 관한 책만 사서 쓴다면 너도 너무 열심히 일하고 있는 거야."[7]
영향
C 프로그래밍 언어는 기술 쓰기의 모델로 자주 인용되어 왔으며, 검토자들은 그것을 명확한 발표와 간결한 처리를 가지고 있다고 묘사했다. 예시는 일반적으로 시스템 프로그래밍에 중점을 두고 일상적으로 언어를 사용할 때 접하기 쉬운 유형의 완전한 프로그램으로 구성된다. 이 책의 저자들은 다음과 같이 말했다.
우리는 초판의 간결함을 유지하려고 노력해왔다. C는 큰 언어가 아니며, 큰 책으로도 잘 제공되지 않는다. 우리는 C 프로그래밍의 중심인 포인터와 같은 중요한 특징에 대한 설명을 개선했다. 우리는 원래의 예시를 다듬었고, 몇 개의 장에 새로운 예시를 추가했다. 예를 들어, 복잡한 선언의 처리는 선언문을 단어로 변환하는 프로그램에 의해 강화되고, 그 반대의 경우도 마찬가지다. 이전과 같이 모든 예시는 기계 판독이 가능한 형태로 본문에서 직접 시험해 보았다.
— preface to the second edition[8]
책은 최소한의 작업 C 프로그램의 삽화로 '안녕, 세상!'이라는 텍스트만 출력하는 '안녕, 세상!' 프로그램을 소개했다. 그 이후로, 많은 텍스트들이 프로그래밍 언어를 도입하기 위한 규약을 따르고 있다.
ANSI C가 등장하기 전, 본문의 초판은 C 컴파일러의 작가들에게 사실상의 언어 표준의 역할을 했다. ANSI C의 표준화와 함께 저자들은 컴파일러 작가보다는 프로그래머를 위한 제2판을 보다 의식적으로 작성하면서 다음과 같이 말했다.
참조 매뉴얼인 부록 A는 표준이 아니라 더 작은 공간에 표준의 핵심을 전달하려는 우리의 시도다. 그것은 프로그래머가 이해하기 쉽지만 컴파일러 작성자를 위한 정의로서가 아니라, 그 역할이 표준 자체에 적절히 속하는 것을 의미한다. 부록 B는 표준 도서관의 시설을 요약한 것이다. 그것 역시 실행자가 아니라 프로그래머가 참고하기 위한 것이다. 부록 C는 원본으로부터의 변경사항을 간결하게 요약한 것이다.
— preface to the second edition[8]
대학과 산업에서 C와 처음 함께 일했던 세대인 C 프로그래밍 언어가 프로그래머들에게 미치는 영향 때문에 많은 사람들이 표준적인 관행은 아니더라도 저자의 프로그래밍 스타일과 규약을 권장 사례로 받아들이게 되었다. 예를 들어 책의 두 판에 모두 제시된 프로그램의 코딩과 포맷 스타일은 흔히 "K&R 스타일" 또는 "원 트루 브레이스 스타일"이라고 불리며 유닉스 및 리눅스 커널의 소스 코드에서 관습에 의해 사용되는 코딩 스타일이 되었다.
참고 항목
참조
- ^ Jump up to: a b Ward, Terry A. (August 1983). "Annotated C / A Bibliography of the C Language". Byte. p. 268. Retrieved 31 January 2015.
- ^ Prinz, Peter; Crawford, Tony (2005-12-16). C in a Nutshell. O'Reilly Media, Inc. p. 3. ISBN 9780596550714.
- ^ Ritchie, Dennis M. (1993). "The Development of the C Language". History of Programming Languages, 2nd Edition. Retrieved 2018-11-11.
- ^ "Leap In and Try Things: Interview with Brian Kernighan". Harmony at Work. October 24, 2009. Archived from the original on July 23, 2012. Retrieved 2013-03-03.
- ^ Computerphile (2015-08-18). "'C' Programming Language: Brian Kernighan - Computerphile". Retrieved 2018-11-11.
- ^ Kernighan, Brian W.; Ritchie, Dennis M. (February 1978). The C Programming Language (1st ed.). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110163-3.
- ^ Pournelle, Jerry (December 1983). "The User Looks at Books". Byte. p. 519. Retrieved 24 July 2016.
- ^ Jump up to: a b Kernighan, Brian; Ritchie, Dennis M. (March 1988). The C Programming Language (2nd ed.). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110362-8.
외부 링크
- C 프로그래밍 언어(Internet Archive)에서 사용 가능한 초판
- "C Programming". Bell Labs Computing Sciences Research Center. 2004-06-13. Archived from the original on 2017-02-21. Retrieved 17 January 2017.. 다른 보관 페이지:
- C 프로그래밍 언어 연습에 대한 답변