Язык программирования Си (книга)


«Язык программирования Си» (англ. The C Programming Language, также известная как K&R) — книга Брайана Кернигана и Денниса Ритчи, причём последний — один из непосредственных авторов и разработчиков языка Си. Книга стала основой для разработки и популяризации Си, до сих пор имеет спрос[1] и широко используется в качестве «классического» учебника по языку. Она долгое время была единственным справочным руководством и де-факто — стандартом языка.

Книга, как и язык, которому она посвящена, родилась в компании AT&T Bell Labs. Первое издание увидело свет в 1978 году и было в те времена единственной широкодоступной книгой по Си. Версию языка, которая описывалась в книге, теперь часто называют K&R C (по первым буквами фамилий авторов) — в основном, для отличия от более позднего стандарта ANSI C, который был описан во втором издании. Кроме непосредственно учебного текста с примерами, рассчитанного на новичков в Си, книга содержала главы, посвящённые основным свойствам языка, а также справочник.

Второе издание было опубликовано спустя десять лет после первого, в 1988 году. В книге была представлена версия Си, принятая в качестве стандарта ANSI, добавлены новые разделы: описание стандартной библиотеки Си и краткий перечень отличий ANSI C от прежней версии. Это издание было переведено более чем на 25 языков[2] и получило мировую известность.

Хотя со времени своей первой публикации в 1989 году ANSI C неоднократно менялся, третье издание, которое бы осветило эти изменения, выпущено не было.

Возможно, что самым известным примером из книги стала программа «Hello, world!», которая выводит текст «hello, world» в терминал. Этот базовый пример показывает структуру минимальной программы на Си. После 1978 года почти все книги, посвящённые языкам программирования, продолжают традицию первого издания The C Programming Language и не обходятся без этой программы.

Стиль форматирования исходного текста программ, используемый в обоих изданиях книги, получил широкое распространение как стиль K&R. С его использованием оформлены, например, код Unix и ядро Linux.