Язык программирования C: Учебник Кернигана и Ритчи
The C Programming Language
Язык программирования C: классическое руководство Кернигана и Ритчи. Основы, примеры кода и авторитетный взгляд на язык, повлиявший на Unix и программирование.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Книга Брайана Кернигана и Денниса Ричи
Book by Brian Kernighan and Dennis Ritchie
учебник
the textbook
Язык программирования C (иногда называемый K&R, по инициалам авторов) – это книга по компьютерному программированию, написанная Брайаном Керниганом и Деннисом Ричи, последний из которых изначально разработал и реализовал язык программирования C, а также совместно с другими разработчиками создал операционную систему Unix, с которой разработка языка была тесно связана. Книга сыграла ключевую роль в развитии и популяризации C и до сих пор широко читается и используется. Благодаря тому, что книга была написана одним из создателей языка, и поскольку первое издание на протяжении многих лет служило де-факто стандартом для C, многие считали её авторитетным руководством по этому языку.
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.
Прием
В августе 1983 года журнал Byte заявил: "[Язык программирования C] – это основополагающий труд по языку C. Не читайте ничего другого, пока не приобретете эту книгу!" Джерри Пурнелл написал в том же году в журнале, что книга "остается стандартом, хотя и несколько лаконична". Он продолжил: "Вы можете изучить язык C и без Кернигана и Ричи, но это будет сложнее. И вы слишком много работаете, если ограничиваетесь только этой книгой по C".
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!" 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."
Влияние
Язык программирования C часто упоминается как образец технической литературы, а рецензенты отмечают его четкое изложение и лаконичность. Примеры обычно состоят из полных программ, подобных тем, с которыми можно столкнуться при повседневном использовании языка, с акцентом на системное программирование. Авторы отметили:
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 said
Мы постарались сохранить краткость первого издания. C – не объемный язык, и большая книга ему не к лицу. Мы улучшили объяснение ключевых возможностей, таких как указатели, которые лежат в основе программирования на C. Мы доработали исходные примеры и добавили новые в нескольких главах. Например, описание сложных объявлений дополнено программами, которые преобразуют объявления в слова и наоборот. Как и прежде, все примеры были протестированы непосредственно из текста, который представлен в машиночитаемом формате.
We have tried to retain the brevity of the first edition. C is not a big language, and it is not well served by a big book. We have improved the exposition of critical features, such as pointers, that are central to C programming. We have refined the original examples, and have added new examples in several chapters. For instance, the treatment of complicated declarations is augmented by programs that convert declarations into words and vice versa. As before, all examples have been tested directly from the text, which is in machine readable form.|preface to the second edition
В книге была представлена программа "Hello, World!", которая выводит только текст "hello, world", в качестве иллюстрации минимальной рабочей программы на C. С тех пор многие учебники стали использовать этот подход для знакомства с языком программирования. До появления стандарта ANSI C первое издание книги фактически являлось стандартом языка для разработчиков компиляторов C. После стандартизации ANSI C авторы сознательно написали второе издание для программистов, а не для разработчиков компиляторов, заявив:
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, saying
Приложение A, справочное руководство, не является стандартом, а нашей попыткой изложить основные положения стандарта в более компактном виде. Оно предназначено для легкого понимания программистами, но не служит определением для разработчиков компиляторов – эта роль принадлежит самому стандарту. Приложение B содержит краткий обзор возможностей стандартной библиотеки. Оно также предназначено для использования программистами, а не разработчиками. Приложение C представляет собой краткое изложение изменений по сравнению с исходной версией.
Appendix A, the reference manual, is not the standard, but our attempt to convey the essentials of the standard in a smaller space. It is meant for easy comprehension by programmers, but not as a definition for compiler writers—that role properly belongs to the standard itself. Appendix B is a summary of the facilities of the standard library. It too is meant for reference by programmers, not implementers. Appendix C is a concise summary of the changes from the original version.|preface to the second edition
Влияние книги "Язык программирования C" на программистов, целое поколение которых впервые познакомилось с C в университетах и на производстве, привело к тому, что многие приняли стиль и соглашения программирования авторов в качестве рекомендуемой, если не нормативной практики. Например, стиль кодирования и форматирования программ, представленных в обоих изданиях книги, часто называют "стилем K&R" или "стилем One True Brace" и стал общепринятым стилем кодирования в исходном коде ядер Unix и Linux.
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.