لغة البرمجة CPL
لغة البرمجة المدمجة ( CPL ) هي لغة برمجة متعددة الأنماط تم تطويرها في أوائل الستينيات. وهي سلف مبكر للغة C عبر لغتي BCPL و B.
تصميم
طُوِّرت لغة البرمجة CPL [ 1 ] في البداية في المختبر الرياضي بجامعة كامبريدج تحت اسم "لغة برمجة كامبريدج"، ثم نُشرت لاحقًا بالاشتراك بين كامبريدج ووحدة الحاسوب بجامعة لندن تحت اسم "لغة البرمجة المدمجة" (وقد أطلق عليها البعض أيضًا اسم "كامبريدج بلس لندن" [ 2 ] أو "لغة برمجة كريستوفر" [ 3 ] ). شارك في تطويرها كريستوفر ستراشي وديفيد بارون وآخرون. نُشرت أول ورقة بحثية تصفها عام 1963، أثناء تطبيقها على حاسوب تيتان في كامبريدج وحاسوب أطلس في لندن.
تأثرت لغة CPL بشكل كبير بلغة ALGOL 60 ، ولكن بدلاً من أن تكون صغيرة الحجم وأنيقة وبسيطة للغاية، صُممت CPL لتطبيقات أوسع من مجرد الحسابات العلمية، ولذلك كانت أكثر تعقيدًا وأقل أناقة من ALGOL 60. كانت CPL لغةً واسعة النطاق في عصرها، وسعت إلى تجاوز ALGOL لتشمل التحكم في العمليات الصناعية، ومعالجة بيانات الأعمال، وربما بعض ألعاب سطر الأوامر المبكرة. [ 4 ] كان الهدف من CPL هو إتاحة البرمجة منخفضة المستوى والتجريدات عالية المستوى باستخدام اللغة نفسها.
مع ذلك، لم يُطبَّق CPL إلا ببطء شديد. يُرجَّح أن أول مُترجم CPL كُتِبَ حوالي عام 1970، [ 5 ] لكن اللغة لم تحظَ بشعبية كبيرة، ويبدو أنها اختفت تمامًا في سبعينيات القرن الماضي.
كانت لغة BCPL (اختصارًا لـ "Basic CPL"، مع أنها كانت تُعرف في الأصل باسم "Bootstrap CPL") لغةً أبسط بكثير مبنية على لغة CPL، ومُصممة أساسًا كلغة برمجة أنظمة ، وخاصةً لكتابة المُترجمات ؛ [ 6 ] وقد طُبقت لأول مرة عام 1967، قبل أول تطبيق للغة CPL. ثم أدت BCPL، عبر لغة B ، إلى ظهور لغة البرمجة C الشهيرة والمؤثرة .
مثال
الدالة MAX كما صاغها بيتر نورفيج : [ 5 ]
القيمة القصوى (العناصر، دالة القيمة) = قيمة § (الأفضل، أفضل قيمة) = (لا شيء، -∞) بينما تفعل العناصر § (العنصر، القيمة) = (رأس(العناصر)، دالة القيمة(رأس(العناصر))) إذا كانت القيمة أكبر من أفضل قيمة، فإن (الأفضل، أفضل قيمة) := (العنصر، القيمة) العناصر := الباقي(العناصر) ̸§ النتيجة هي الأفضل ̸§
رمز إغلاق القسم المستخدم هنا ( ̸§) هو تقريب للرمز الأصلي، حيث يكون الخط المتقاطع عموديًا. هذا الرمز متوفر في يونيكود كـ §⃒لكن عرضه لا يكون صحيحًا على العديد من الأنظمة.
التطبيقات
يُعتقد أن لغة البرمجة CPL لم تُطبّق بالكامل في ستينيات القرن العشرين، بل كانت موجودة كبنية نظرية مع بعض الأبحاث حول تطبيقات جزئية. [ 7 ] [ 8 ]
قام بيتر نورفيج بكتابة (لـ Yapps، وهو مُترجم-مُترجم لغة بايثون ) مُترجم بسيط من لغة CPL إلى بايثون للأجهزة الحديثة. [ 5 ] [ 9 ]
انظر أيضاً
مراجع
- ↑ بارون، د. و.؛ بوكستون، ج. ن.؛ هارتلي، د. ف.؛ نيكسون، إ.؛ ستراشي، س. (1 أغسطس 1963). "السمات الرئيسية للغة CPL" . مجلة الكمبيوتر . 6 (2): 134-143 . doi : 10.1093/comjnl/6.2.134 . ISSN 0010-4620 .
- ↑ "كلايف فيذر يتحدث عن CPL وBCPL" . Lysator.liu.se . تم الاطلاع عليه بتاريخ 18 أغسطس 2013 .
- ^ جنسن ، ريتشارد (9 ديسمبر 2020). ""أمرٌ في غاية الغباء" - أصول حرف C. آرس تكنيكا . تم الاطلاع عليه بتاريخ 10 ديسمبر 2020 .
- ↑ ياداف، ب. (2005). الحاسوب واللغات . دار ديسكفري للنشر. رقم ISBN 978-81-8356-041-2.
- 1 2 3 نورفيج، بيتر (23 أغسطس 2011). "استشرافية ولكنها ليست مثالية: نظرة إلى الوراء على مقال نُشر عام 1966 في مجلة ساينتفك أمريكان حول تحليل النظم" . شبكة مدونات ساينتفك أمريكان . تم الاطلاع عليه بتاريخ 10 ديسمبر 2020 .
- ↑ ميتشل، جون سي؛ آبت، كريستوف (2003). مفاهيم في لغات البرمجة . مطبعة جامعة كامبريدج. ISBN 978-0-521-78098-8.
- ↑ كولوريس، جي إف (1 يناير 1968). "مترجم لغة CPL1 اللندني" . مجلة الكمبيوتر . 11 : 26-30 . doi : 10.1093/comjnl/11.1.26 .
- ↑ كولوريس، جورج (2013). "إحياء الحاسوب، العدد 62 / المترجم - تأملات مستخدم بعد 50 عامًا / مترجم CPL1" . جمعية صيانة الحاسوب . تم الاطلاع عليه في 3 مايو 2023 .
- ↑ نورفيج، بيتر. "برنامج الداما الكامل المشروح" . norvig.com . تم الاطلاع عليه بتاريخ 11 يونيو 2021 .
فهرس
- كيف تطورت BCPL من CPL، مارتن ريتشاردز، 2011
- مجموعة أوراق كريستوفر ستراشي، القسم المتعلق بمكتبة CPL، محفوظة في مكتبة بودليان، أكسفورد؛ CSAC 71.1.80/C.136-C.184
- دي. دبليو. بارون، جيه . إن. بوكستون، دي. إف. هارتلي، إي. نيكسون، وسي. ستراشي. "الميزات الرئيسية للغة CPL" مجلة الكمبيوتر 6 :2:134-143 (1963)، متاح على الإنترنت .
- ج. بوكستون، ج. س. جراي، و د. بارك. دليل البرمجة الابتدائية CPL، الطبعة الثانية (كامبريدج) (1966).
- معهد علوم الحاسوب بجامعة لندن والمختبر الرياضي، كامبريدج. أوراق عمل CPL (1966).
- تاريخ الحوسبة في المملكة المتحدة
- لغات البرمجة الإجرائية
- لغات البرمجة التي تم ابتكارها عام 1963
- لغات البرمجة الهيكلية
- مختبر الحاسوب بجامعة كامبريدج
