stringtranslate.com

Язык программирования C

Язык программирования C (иногда называемый K&R , по инициалам его авторов) — книга по программированию, написанная Брайаном Керниганом и Деннисом Ритчи , последний из которых изначально разработал и реализовал язык программирования C , а также совместно разработал операционную систему Unix , с которой разработка языка была тесно переплетена. Книга сыграла центральную роль в разработке и популяризации C и до сих пор широко читаема и используется. Поскольку книга была написана в соавторстве с разработчиком оригинального языка, и поскольку первое издание книги в течение многих лет служило фактическим стандартом для языка, многие считали ее авторитетным справочником по C. [1] [2]

История

Язык C был создан Деннисом Ритчи в Bell Labs в начале 1970-х годов как расширенная версия языка B Кена Томпсона . [ 3] Другой сотрудник Bell Labs, Брайан Керниган , написал первый учебник по языку C, [4] и убедил Ритчи стать соавтором книги по этому языку. [5] Керниган написал большую часть «описательного» материала книги, а справочное руководство Ритчи стало ее приложениями.

Первое издание, опубликованное 22 февраля 1978 года, стало первой широкодоступной книгой по языку программирования C. Его версию C иногда называют K&R C (по именам авторов книги), часто для того, чтобы отличить эту раннюю версию от более поздней версии C, стандартизированной как ANSI C. [ 6]

В апреле 1988 года было опубликовано второе издание книги, обновленное с учетом изменений в языке, вызванных новым на тот момент стандартом ANSI C, в частности, с включением справочного материала по стандартным библиотекам . Второе издание книги (и по состоянию на 2024 год — самое последнее) с тех пор было переведено на более чем 20 языков. [7] В 2012 году электронная версия второго издания была опубликована в форматах ePub, Mobi и PDF. [8]

C был впервые стандартизирован в 1989 году (как ANSI X3.159-1989) и с тех пор претерпел несколько изменений. Однако не было выпущено ни одного нового издания The C Programming Language, которое охватывало бы более поздние стандарты.

Прием

Журнал Byte в августе 1983 года заявил: «[ Язык программирования C ] — это окончательная работа по языку C. Не читайте дальше, пока не получите эту книгу!» [1] Джерри Пурнелл написал в журнале в том году, что книга «все еще является стандартом... немного краткой». Он продолжил: «Вы можете изучить язык C, не читая Кернигана и Ритчи, но это будет трудным путем. Вы также слишком много работаете, если сделаете ее единственной книгой по C, которую вы купите». [9]

Влияние

Язык программирования C часто упоминается как модель для технического письма , а рецензенты описывают его как имеющий четкое представление и краткое изложение. Примеры обычно состоят из полных программ того типа, с которым можно столкнуться при ежедневном использовании языка, с акцентом на системное программирование . Его авторы писали,

Мы попытались сохранить краткость первого издания. C — не большой язык, и ему не очень подходит большая книга. Мы улучшили изложение критических особенностей, таких как указатели, которые являются центральными для программирования на C. Мы усовершенствовали исходные примеры и добавили новые примеры в несколько глав. Например, обработка сложных объявлений дополнена программами, которые преобразуют объявления в слова и наоборот. Как и прежде, все примеры были проверены непосредственно из текста, который находится в машиночитаемой форме.

—  предисловие ко второму изданию [10]
Программа «Hello, World!» Брайана Кернигана (1978)

В книге представлена ​​программа «Hello, World!» , которая печатает только текст «hello, world» в качестве иллюстрации минимальной рабочей программы на языке C. С тех пор многие тексты следовали этому соглашению для введения в язык программирования.

До появления ANSI C первое издание текста служило фактическим стандартом языка для авторов компиляторов C. Со стандартизацией ANSI C авторы более осознанно написали второе издание для программистов, а не для авторов компиляторов, написав,

Приложение A, справочное руководство, не является стандартом, а нашей попыткой передать суть стандарта в меньшем объеме. Оно предназначено для простого понимания программистами, но не как определение для авторов компиляторов — эта роль по праву принадлежит самому стандарту. Приложение B представляет собой сводку возможностей стандартной библиотеки. Оно также предназначено для справки программистами, а не разработчиками. Приложение C представляет собой краткую сводку изменений по сравнению с исходной версией.

—  предисловие ко второму изданию [10]

Влияние языка программирования C на программистов, поколение которых впервые работало с C в университетах и ​​промышленности, привело к тому, что многие приняли стиль программирования и соглашения авторов как рекомендуемую практику, если не нормативную практику. Например, стиль кодирования и форматирования программ, представленных в обоих изданиях книги, часто называют «стилем K&R» или «стилем One True Brace », и он стал стилем кодирования, используемым по соглашению в исходном коде для ядер Unix и Linux .

Смотрите также

Ссылки

  1. ^ ab Ward, Terry A. (август 1983). "Аннотированная библиография языка C по C". Byte . стр. 268. Получено 31 января 2015 г.
  2. Prinz, Peter; Crawford, Tony (16.12.2005). C in a Nutshell. O'Reilly Media, Inc. стр. 3. ISBN 9780596550714.
  3. ^ Ритчи, Деннис М. (1993). «Развитие языка C». История языков программирования, 2-е издание . Получено 11 ноября 2018 г.
  4. ^ "Leap In and Try Things: Interview with Brian Kernighan". Harmony at Work . 24 октября 2009 г. Архивировано из оригинала 23 июля 2012 г. Получено 03.03.2013 г.
  5. ^ Computerphile (2015-08-18). "Язык программирования 'C': Брайан Керниган - Computerphile". Архивировано из оригинала 2021-12-21 . Получено 2018-11-11 .
  6. ^ Керниган, Брайан В .; Ритчи, Деннис М. (февраль 1978 г.). Язык программирования C (1-е изд.). Энглвуд Клиффс, Нью-Джерси : Prentice Hall . ISBN 0-13-110163-3.
  7. ^ Кенингхан, Брайан В. «Язык программирования C, второе издание». Университет Прайстона . Получено 18 февраля 2023 г.
  8. ^ Кенингхан, Брайан В. (1 октября 2012 г.). «Интервью с Брайаном Керниганом о языке программирования C и C». InformIT (Интервью). Интервью Джона Уэйта.
  9. ^ Пурнель, Джерри (декабрь 1983 г.). «Пользователь смотрит на книги». Байт . стр. 519. Получено 24 июля 2016 г.
  10. ^ ab Керниган, Брайан ; Ритчи, Деннис М. (март 1988). Язык программирования C (2-е изд.). Энглвуд Клиффс, Нью-Джерси : Prentice Hall . ISBN 0-13-110362-8.

Внешние ссылки