Мова програмування C (книга)

Обкладинка першого видання книжки

«Мова програмування Сі» (англ. The C Programming Language; іноді — K&R, за ініціалами авторів) — книга Браяна Кернігана і Денніса Рітчі, другий між іншим є одним із авторів мови Сі, а також був співрозробником операційної системи Unix, із якою тісно пов'язаний розвиток мови. Книга стала основою для розробників та популяризації мови, вона популярна і по сьогодні та вважається «класичним» підручником з вивчення Сі. Доволі великий проміжок часу вона була єдиним посібником і де-факто — стандартом мови..[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.

C, вперше стандартизована 1989 року (як ANSI X3.159-1989), зазнала відтоді кілька переглядів. Однак не було видано жодного нового видання книги, яке б охоплювало новіші стандарти.

Сприйняття

У серпні 1983 року журнал Byte[en] заявив: «[Мова програмування C] — це визначальна праця про мову C. Не читайте нічого іншого, поки не опрацюєте цієї книги!» (англ. [The C Programming Language] is the definitive work on the C language. Don't read any further until you have this book!).[1] Джеррі Пурнелл написав у журналі того року, що книга «досі є стандартною… трохи лаконічною». Він продовжив: «Ви можете вивчити мову C, не маючи Кернігана та Річі, але зробити це важко. Також буде надто складно, якщо це буде єдина книга про C, яку ви купите» (англ. 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.).[8]

Вплив

Мову програмування C часто називають зразком технічного письм, рецензенти описують її як таку, що містить чітке подання та стисле трактування. Приклади, як правило, включають повні програми такого типу, з якими можна зіткнутися за щоденного використання мови, з наголосом на системному програмуванні. Автори писали:

Ми намагалися зберегти лаконічність першого видання. Мова C не є великою мовою, і велика книга не дуже добре слугує їй. Ми покращили виклад критично важливих особливостей, таких як вказівники, які є центральними для програмування мовою C. Ми вдосконалили початкові приклади і додали нові приклади в кількох розділах. Наприклад, розгляд складних оголошень доповнено програмами, які перетворюють оголошення на слова і навпаки. Як і раніше, всі приклади випробувано безпосередньо з тексту, який є в машиночитній формі. Translated with DeepL.com (free version)

Оригінальний текст (англ.)
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.
— Передмова до другого видання[9]
Програма «Привіт, світе!» Браяна Кернігана (1978)

У книзі з'явився приклад найменшої робочої програми на C — програма «Привіт, світе!». Відтоді її використано у вступних посібниках до багатьох мов програмування.

До появи ANSI C, перше видання тексту слугувало фактичним стандартом мови для авторів компіляторів C. Завдяки стандартизації ANSI C автори написали друге видання, орієнтуючись на програмістів, а не на авторів компіляторів. Вони писали:

Додаток А, довідковий посібник, є не стандартом, а нашою спробою стисло передати основи стандарту. Він призначений для легкого розуміння програмістами, але не є тлумаченням для написання компіляторів - ця роль належить самому стандарту. Додаток 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.
— Передмова до другого видання[9]

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

Примітки

  1. а б Ward, Terry A. (серпень 1983). Annotated C / A Bibliography of the C Language. Byte. с. 268. Процитовано 31 січня 2015.
  2. Prinz, Peter; Crawford, Tony (16 грудня 2005). C in a Nutshell (англ.). O'Reilly Media, Inc. с. 3. ISBN 9780596550714.
  3. Ritchie, Dennis M. (1993). The Development of the C Language. History of Programming Languages, 2nd Edition. Процитовано 11 листопада 2018.
  4. Leap In and Try Things: Interview with Brian Kernighan. Harmony at Work. 24 жовтня 2009. Архів оригіналу за 23 липня 2012. Процитовано 3 березня 2013.
  5. Computerphile (18 серпня 2015). 'C' Programming Language: Brian Kernighan - Computerphile. YouTube. Архів оригіналу за 21 грудня 2021. Процитовано 11 листопада 2018.
  6. Kernighan, Brian W.; Ritchie, Dennis M. (лютий 1978). The C Programming Language (вид. 1st). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110163-3.
  7. Keninghan, Brian W. The C Programming Language, Second Edition. Priceton University. Процитовано 18 лютого 2023.
  8. Pournelle, Jerry (December 1983). The User Looks at Books. Byte. с. 519. Процитовано 24 липня 2016.
  9. а б Kernighan, Brian; Ritchie, Dennis M. (березень 1988). The C Programming Language (вид. 2nd). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110362-8.

Посилання

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya