Обложка первого издания. | |
Автор | Брайан Керниган. Деннис Ричи |
---|---|
Язык | Английский |
Тема | Язык программирования C |
Издатель | Прентис Холл |
Дата публикации | 1978 (1-е издание). 1988 (2-е издание) |
ISBN | 9780131101630 |
Язык программирования C (иногда называемый KR, по инициалам его авторов) - это книга по компьютерному программированию , написанная Брайаном Керниганом и Деннисом Ричи, последний из которых также первоначально разработал и реализовал язык как соавтор операционной системы Unix , с которой тесно переплетена разработка языка. Эта книга сыграла центральную роль в разработке и популяризации языка программирования C и до сих пор широко читается и используется. Поскольку книга была написана в соавторстве с разработчиком языка оригинала, и поскольку первое издание книги на протяжении многих лет служило де-факто стандартом для языка, многие считали ее авторитетным ссылка на C.
C был создан Деннисом Ритчи в Bell Labs в начале 1970-х как расширенная версия Кена Томпсона B. Другой сотрудник Bell Labs, Брайан Керниган, написал первое руководство по C и убедил Ричи стать соавтором книги по этому языку. Керниган напишет большую часть «пояснительного» материала к книге, а справочное руководство Ричи стало ее приложениями.
Первое издание, опубликованное 22 февраля 1978 г., было первой широко доступной книгой по языку программирования C. Его версию C иногда называют KR C (в честь авторов книги), часто для того, чтобы отличить эту раннюю версию от более поздней версии C, стандартизированной как ANSI C.
В апреле 1988 г. вышло второе издание книги было опубликовано, обновлено, чтобы охватить изменения в языке, вытекающие из нового на тот момент стандарта ANSI C, в частности, с включением справочных материалов по стандартным библиотекам. Второе издание книги (а по состоянию на 2018 год самое последнее) было переведено более чем на 20 языков. В 2012 году электронная версия второго издания была опубликована в форматах ePub, Mobi и PDF.
ANSI C, впервые стандартизованный в 1989 году (как ANSI X3.159-1989), с тех пор претерпел несколько изменений, последней из которых является ISO / IEC 9899: 2018 (также называемый C18 ), принятый в качестве стандарта ANSI в июне 2018 года. Тем не менее, не было выпущено новой редакции языка программирования C, охватывающей более свежие стандарты.
Журнал Byte в августе 1983 года заявил: «[Язык программирования C] является окончательной работой над языком C. Не читайте дальше, пока не получите эту книгу!» Джерри Пурнель писал в журнале в том году, что книга «по-прежнему стандартная... немного краткая». Он продолжил: «Вы можете выучить язык C, не обращаясь к Кернигану и Ричи, но это трудный путь. Вы также слишком много работаете, если сделаете это единственной книгой по C, которую вы покупаете».
Язык программирования C часто упоминается как образец для технического письма, причем рецензенты описывают его как имеющий четкое представление и краткую трактовку. Примеры обычно состоят из полных программ того типа, с которым можно столкнуться при повседневном использовании языка, с упором на системное программирование. Его авторы сказали:
Мы постарались сохранить краткость первого издания. C - небольшой язык, и большая книга его не обслуживает. Мы улучшили описание критических функций, таких как указатели, которые являются центральными в программировании на C. Мы доработали исходные примеры и добавили новые в несколько глав. Например, обработка сложных объявлений дополняется программами, преобразующими объявления в слова и наоборот. Как и прежде, все примеры тестировались непосредственно из текста, который находится в машиночитаемой форме.
— предисловие ко второму изданию «Hello, World!» программа Брайана Кернигана (1978)В книге представлена программа «Hello, World! », которая печатает только текст «hello, world» в качестве иллюстрации минимально работающей программы на языке C. С тех пор многие тексты следовали этому соглашению при введении языка программирования.
Перед появлением ANSI C первое издание текста служило фактическим стандартом языка для разработчиков компиляторов C. После стандартизации ANSI C авторы более сознательно написали второе издание для программистов, а не для разработчиков компиляторов, заявив:
Приложение A, справочное руководство, не является стандартом, это наша попытка передать основы стандарта в меньшее пространство. Он предназначен для облегчения понимания программистами, но не как определение для разработчиков компиляторов - эта роль принадлежит самому стандарту. Приложение B - это краткое изложение возможностей стандартной библиотеки. Он также предназначен для использования программистами, а не разработчиками. Приложение C представляет собой краткий обзор изменений по сравнению с исходной версией.
— предисловие ко второму изданиюВлияние языка программирования C на программистов, поколение которых впервые работало с C в университетах и промышленности, привело к многие принимают стиль программирования и соглашения авторов как рекомендованную, если не нормативную практику. Например, стиль кодирования и форматирования программ, представленных в обоих изданиях книги, часто упоминается как «стиль KR» или «One True Brace Style » и стал стилем кодирования, используемым по соглашению в исходный код для ядер Unix и Linux .
Язык C стандарты | Преемник. C89 / C90 / "ANSI C". (2-е издание книги) |