The C Programming Language Explained

The C Programming Language
Author:Brian Kernighan
Dennis Ritchie
Language:English
Subject:C programming language
Publisher:Prentice Hall
Pub Date:1978 (1st Edition)
1988 (2nd Edition)
Isbn:9780131101630

The C Programming Language (sometimes termed K&R, after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the C programming language, as well as co-designed the Unix operating system with which development of the language was closely intertwined. The book was central to the development and popularization of C and is still widely read and used today. Because the book was co-authored by the original language designer, and because the first edition of the book served for many years as the de facto standard for the language, the book was regarded by many to be the authoritative reference on C.[1]

History

C was created by Dennis Ritchie at Bell Labs in the early 1970s as an augmented version of Ken Thompson's B.[2] Another Bell Labs employee, Brian Kernighan, had written the first C tutorial,[3] and he persuaded Ritchie to coauthor a book on the language.[4] Kernighan would write most of the book's "expository" material, and Ritchie's reference manual became its appendices.

The first edition, published February 22, 1978, was the first widely available book on the C programming language. Its version of C is sometimes termed K&R C (after the book's authors), often to distinguish this early version from the later version of C standardized as ANSI C.[5]

In April 1988, the second edition of the book was published, updated to cover the changes to the language resulting from the then-new ANSI C standard, particularly with the inclusion of reference material on standard libraries. The second edition of the book (and, the most recent) has since been translated into over 20 languages.[6] In 2012, an eBook version of the second edition was published in ePub, Mobi, and PDF formats.[7]

C was first standardized in 1989 (as ANSI X3.159-1989) and has since undergone several revisions. However, no new edition of The C Programming Language has been issued to cover the more recent standards.

Reception

Byte magazine stated in August 1983, "[''The C Programming Language''] is the definitive work on the C language. Don't read any further until you have this book!"[8] Jerry Pournelle wrote in the magazine that year that the book "is still the standard ... a bit terse". He continued, "You can learn the C language without getting Kernighan and Ritchie, but that's doing it the hard way. You're also working too hard if you make it the only book on C that you buy."[9]

Influence

The C Programming Language has often been cited as a model for technical writing, with reviewers describing it as having clear presentation and concise treatment. Examples generally consist of complete programs of the type one is likely to encounter in daily use of the language, with an emphasis on system programming. Its authors wrote,

The book introduced the "Hello, World!" program, which prints only the text "hello, world" as an illustration of a minimal working C program. Since then, many texts have followed that convention for introducing a programming language.

Before the advent of ANSI C, the first edition of the text served as the de facto standard of the language for writers of C compilers. With the standardization of ANSI C, the authors more consciously wrote the second edition for programmers rather than compiler writers, writing,

The influence of The C Programming Language on programmers, a generation of whom first worked with C in universities and industry, has led many to accept the authors' programming style and conventions as recommended practice, if not normative practice. For example, the coding and formatting style of the programs presented in both editions of the book is often referred to as "K&R style" or the "One True Brace Style" and became the coding style used by convention in the source code for the Unix and Linux kernels.

See also

External links

Notes and References

  1. Book: Prinz, Peter. C in a Nutshell. Crawford. Tony. 2005-12-16. O'Reilly Media, Inc.. 9780596550714. 3. en.
  2. Web site: The Development of the C Language. Ritchie. Dennis M.. 1993. History of Programming Languages, 2nd Edition. 2018-11-11.
  3. Web site: Leap In and Try Things: Interview with Brian Kernighan . October 24, 2009 . Harmony at Work . 2013-03-03 . dead . https://web.archive.org/web/20120723182804/http://www.harmonyatwork.in/blog/2009/10/leap-in-and-try-things-brian-kernighan/ . July 23, 2012.
  4. Web site: 'C' Programming Language: Brian Kernighan - Computerphile. https://ghostarchive.org/varchive/youtube/20211221/de2Hsvxaf8M . 2021-12-21 . live. Computerphile. 2015-08-18. 2018-11-11.
  5. Book: Kernighan . Brian W. . Brian Kernighan . Ritchie . Dennis M. . Dennis Ritchie . The C Programming Language . 1st . . February 1978 . . 0-13-110163-3 .
  6. Web site: The C Programming Language, Second Edition . Keninghan . Brian W. . Priceton University . 18 February 2023.
  7. An Interview with Brian Kernighan on C and The C Programming Language . InformIT . Keninghan . Brian W. . John Wait . 1 October 2012.
  8. News: Ward . Terry A. . Annotated C / A Bibliography of the C Language . Byte . August 1983 . 31 January 2015 . 268.
  9. News: Pournelle . Jerry . Jerry Pournelle . The User Looks at Books . Byte . December 1983 . 24 July 2016 . 519.