لغة البرمجة سي (كتاب)

لغة البرمجة سي (كتاب)
The C Programming Language
غلاف الطبعة الأولى من الكتاب
معلومات الكتاب
المؤلف بريان كيرنيغان ودينيس ريتشي
اللغة الإنجليزية
الناشر أديسون ويسلي
تاريخ النشر 1978 (الطبعة الأولى)
1988 (الطبعة الثانية)
النوع الأدبي برمجة،  وغير روائي  تعديل قيمة خاصية (P136) في ويكي بيانات
الموضوع سي
عدد الصفحات 343   تعديل قيمة خاصية (P1104) في ويكي بيانات
المواقع
الموقع الرسمي الموقع الرسمي  تعديل قيمة خاصية (P856) في ويكي بيانات

لغة البرمجة سي (بالإنجليزية: The C Programming Language)‏ (أحيانا يشار إليه بـ K&R نسبة للأحرف الأولى من اسم المؤلفين) هو كتاب مشهور عن برمجة الحاسوب من تأليف بريان كيرنيغان ودينيس ريتشي، ولقد صمم ونفذ في الأصل لغة البرمجة سي، كما شارك في تصميم يونكس نظام التشغيل الذي كان تطوير اللغة متشابكًا معه بشكل وثيق. حيث كان الكتاب محوريًا في تطوير وتعميم لغة سي، ولا يزال يُقرأ ويستخدم على نطاق واسع حتى اليوم. ونظرًا لأن الكتاب شارك في تأليفه مصمم اللغة الأصلية، ولأن الطبعة الأولى من الكتاب كانت بمثابة المعيار "بحكم الأمر الواقع" للغة، فقد اعتبره الكثيرون كتابًا مميزًا. والمرجع الرسمي على سي.[1][2]

يُعتبر هذا الكتاب في نظر الكثيرين بأنه المرجع الموثوق للغة سي.

صدرت الطبعة الأولى من الكتاب في عام 1978. وفي عام 1988 صدرت الطبعة الثانية من الكتاب وتم ترجمتها إلى 20 لغة مختلفة.

التاريخ

[عدل]

تم إنشاء لغة سي بواسطة "دينيس ريتشي" في بيل لابس بأوائل السبعينيات كنسخة معززة من "كين طومبسون".[3] و قام موظف آخر في بيل لابس، بكتابة أول برنامج تعليمي للغة سي،[4] وأقنع ريتشي بالمشاركة في تأليف كتاب عن اللغة.[5] وكتب كيرنيغان معظم المواد "التفسيرية" للكتاب، وأصبح دليل ريتشي المرجعي.

الطبعة الأولى، التي نشرت في 22 من فبراير 1978، كانت أول كتاب متاح على نطاق واسع عن لغة البرمجة سي. ةيُطلق على نسخته من لغة سي أحيانًا اسم K&R C (على اسم مؤلفي الكتاب)، وغالبًا لتمييز هذه النسخة المبكرة عن الإصدار الأحدث من لغة الموحدة كـ ANSI سي.[6]

وفي أبريل 1988، نشرت الطبعة الثانية من الكتاب، وحدثت لتغطية التغييرات في اللغة الناتجة عن معيار "ANSI سي" الجديد آنذاك، وخاصة مع تضمين المواد المرجعية على المكتبات القياسية. حيث تمت ترجمة الطبعة الثانية من الكتاب (و اعتبارًا من الأحدث) ومنذ ذلك الحين إلى أكثر من 20 لغة.[7] وفي عام 2012، نشرت نسخة الكتاب الإلكتروني من الطبعة الثانية بتنسيقات مجلة وموبي وبي دي إف.[8]

وحدت لغة سي لأول مرة في عام 1989 (باسم ANSI X3.159-1989) ومنذ ذلك الحين خضعت لعدة مراجعات. ومع ذلك لم تصدر أي طبعة جديدة من لغة البرمجة سي لتغطية المعايير الأحدث.

الاستقبال

[عدل]

في أغسطس 1983، أفادت مجلة بايت بأن كتاب "لغة البرمجة سي" هو عملٌ تامّ الوضوح عن لغة البرمجة سي، فلا يلزمك قراءة كتب أخرى طالما لديك هذا الكتاب![1] كتب جيري بورنيل في المجلة في ذلك العام أن الكتاب "لا يزال هو المعيار ... لكنه مقتضب بعض الشيء". وتابع: "يمكنك تعلم لغة C دون الحصول على كتب كيرنيغان وريتشي، ولكن هذا يعني التعلّم بالطريقة الصعبة. كما ستبذل جهداً كبيراً إذا اعتمدته الكتاب "الوحيد" عن لغة C."[9]

التأثير

[عدل]

غالبًا ما يتم الاستشهاد بكتاب "لغة البرمجة سي" كنموذج لـ الكتابة التقنية، حيث وصفه المراجعون بأنه يتميّز بالعرض الواضح والمعالجة الموجزة. وتتكون الأمثلة بشكل عام من برامج كاملة من النوع الذي من المحتمل أن نواجهه في الاستخدام اليومي للغة، مع التركيز على برمجة النظام. حيث قال مؤلفوا الكتاب:

لقد حاولنا الحفاظ على إيجاز الطبعة الأولى. ولكن لغة سي ليست لغة كبيرة، ولا يخدمها كتاب كبير بشكل جيد. ولقد حسّنّا عرض الميزات الهامة، مثل المؤشرات، التي تعتبر أساسية في برمجة سي. ولقد حسّنّا الأمثلة الأصلية، وأضفنا أمثلة جديدة في عدة فصول. على سبيل المثال، يتم تعزيز معالجة الإعلانات المعقدة من خلال البرامج التي تحول الإعلانات إلى كلمات والعكس صحيح. وكما كان من قبل، حيث اختبرت كافة الأمثلة مباشرة من النص، والذي يمكن قراءته بواسطة الآلة.

— مقدمة للطبعة الثانية[10]

قدم الكتاب برنامج "مرحبًا بالعالم!"، والذي يطبع النص "مرحبا بالعالم" فقط، كمثال توضيحي للحد الأدنى من برنامج سي. ومنذ ذلك الحين، اتبعت العديد من النصوص هذا التقليد لتقديم لغة البرمجة.

قبل ظهور "ANSI C"، كانت الطبعة الأولى من النص بمثابة المعيار الفعلي للغة كتاب مترجمي لغة سي. مع توحيد ANSI C، وزيادة وعي طريقة عمل المؤلفين، أصبحت الطبعة الثانية للمبرمجين بدلاً من اقتصارها على ترجمة اللغة؛ ويشير المؤلفون إلى أن:

الملحق أ، هو الدليل المرجعي، وليس هو المعيار، ولكنه كان محاولتنا لنقل أساسيات المعيار إلى مساحة أصغر. وإنه مخصص لتسهيل فهم المبرمجين له، ولكن ليس كتعريف لكتاب المترجمين، فهذا الدور ينتمي بشكل صحيح إلى المعيار نفسه. والملحق ب هو ملخص لمرافق المكتبة القياسية. وهو أيضًا مخصص كمرجع للمبرمجين، وليس للمنفذين. أما الملحق ج فهو ملخص موجز للتغييرات من الإصدار الأصلي.

— مقدمة للطبعة الثانية[10]

أثّر كتاب "لغة البرمجة سي" على المبرمجين الذين عمل جيل منهم لأول مرة بلغة البرمجة سي في الجامعات والصناعة، مما دفع الكثيرين إلى قبول أسلوب برمجة المؤلفين واتفاقياتهم كممارسة موصى بها، هذا في حين إن لم تكن ممارسة معيارية. وعلى سبيل المثال، غالبًا ما يُشار إلى أسلوب الترميز والتنسيق للبرامج المقدمة في كلا الإصدارين من الكتاب باسم "نمط K&R" أو "نمط المسافة البادئة" وأصبح أسلوب الترميز يتم استخدامه بشكل تقليدي في الكود المصدري لـ يونيكس ونظام التشغيل.

المراجع

[عدل]
  1. ^ ا ب Ward، Terry A. (أغسطس 1983). "Annotated C / A Bibliography of the C Language". Byte. ص. 268. اطلع عليه بتاريخ 2015-01-31.
  2. ^ Prinz, Peter; Crawford, Tony (16 Dec 2005). C in a Nutshell (بالإنجليزية). O'Reilly Media, Inc. p. 3. ISBN:9780596550714. Archived from the original on 2023-10-09.
  3. ^ Ritchie، Dennis M. (1993). "The Development of the C Language". History of Programming Languages, 2nd Edition. مؤرشف من الأصل في 2024-05-07. اطلع عليه بتاريخ 2018-11-11.
  4. ^ "Leap In and Try Things: Interview with Brian Kernighan". Harmony at Work. 24 أكتوبر 2009. مؤرشف من الأصل في 2012-07-23. اطلع عليه بتاريخ 2013-03-03.
  5. ^ Computerphile (18 أغسطس 2015). "'C' Programming Language: Brian Kernighan - Computerphile". مؤرشف من الأصل في 2021-12-21. اطلع عليه بتاريخ 2018-11-11.
  6. ^ Kernighan، Brian W.؛ Ritchie، Dennis M. (فبراير 1978). The C Programming Language (ط. 1st). إنغلوود كليفس  [لغات أخرى]‏: برنتيس هول  [لغات أخرى]‏. ISBN:0-13-110163-3.{{استشهاد بكتاب}}: صيانة الاستشهاد: علامات ترقيم زائدة (link) صيانة الاستشهاد: مكان (link)
  7. ^ Keninghan، Brian W. "The C Programming Language, Second Edition". Priceton University. مؤرشف من الأصل في 2024-02-20. اطلع عليه بتاريخ 2023-02-18.
  8. ^ Keninghan، Brian W. (1 أكتوبر 2012). "An Interview with Brian Kernighan on C and The C Programming Language". InformIT (Interview). John Wait. مؤرشف من الأصل في 2023-02-18.
  9. ^ Pournelle، Jerry (ديسمبر 1983). "The User Looks at Books". Byte. ص. 519. اطلع عليه بتاريخ 2016-07-24.
  10. ^ ا ب Kernighan، Brian؛ Ritchie، Dennis M. (مارس 1988). The C Programming Language (ط. 2nd). إنغلوود كليفس  [لغات أخرى]‏: برنتيس هول  [لغات أخرى]‏. ISBN:0-13-110362-8.{{استشهاد بكتاب}}: صيانة الاستشهاد: علامات ترقيم زائدة (link) صيانة الاستشهاد: مكان (link)

وصلات خارجية

[عدل]
C language standards


تبعه
C89 / C90 / "ANSI C"
(2nd edition of book)