سیپیال (زبان برنامهنویسی)
CPL ( زبان برنامهنویسی ترکیب شده Combined Programming Language و قبل تر از آن تحت عنوان زبان برنامهنویسی کمبریج ) یک زبان برنامهنویسی چند مدلی (multi-paradigm) میباشد ، که در اوایل سال ۱۹۶۰ توسعه یافت.
پارادایم برنامهنویسی | مولتیپارادایم: رویهای، دستوری، ساختیافته، تابعی |
---|---|
طراحی شده توسط | Christopher Strachey et al. |
ظهوریافته در | ۱۹۶۳ میلادی |
متأثر از | |
الگول ۶۰ | |
تأثیر گذاشته بر | |
بیسیپیال، POP-2 |
طراحی
CPL مشترکاً توسط آزمایشگاه ریاضیات دانشگاه کمبریج و همچنین واحد رایانه ای دانشگاه لندن , در طول دههٔ ۱۹۶۰ توسعه یافت . از این رو CPL نام مستعار "کمبریج بعلاوه ی لندن" را به دست آورد . تلاش مشترک این دو بیشتر برای قسمتِ "ترکیب شده" در نامِ زبان بود. (قبلاً نام زبان،زبان برنامهنویسی کمبریج بود.)
D.W. Barron و Christopher Strachey درگیر این پروژه بودند.
در سال ۱۹۶۳ (زمانی که مقاله منتشر شد) این پروژه بهطور همزمان در کامپیوتر تیتان , Titan Computer , در کمبریج و کامپیوتر اطلس , Atlas Computer ، در لندن پیادهسازی شد.
این زبان از زبان الگول ۶۰ بسیار تأثیر می پذیرفت، ولی به جای اینکه خیلی کوچک ، کارا ، کم دستور و ساده باشد ، نامزد داشتن زمینههای کاربردی گسترده تری نسبت به محاسبات علمی بود . بنابراین CPL زبانی بسیار پیچیده بود و به کاراییِ زبان الگول ۶۰ نبود.
CPL در زمان خود , زبان بزرگی بود . CPL تلاش کرد تا از زبان الگول فراتر برود تا بتواند علاوه برداشتن ویژگیهای زبان الگول شامل کنترل فرایندهای صنعتی و پردازش دادههای تجاری نیز باشد . CPL همچنین تلاش داشت تا هم به برنامههای سطح پایین و هم دادههای انتزاعی سطح بالا اجازه دهد که از یک زبان مشترک استفاده کنند.
اگرچه زبان CPL بسیار آهسته به مرحلهٔ پیادهسازی رسید , ولی اولین کامپایلر زبان احتمالاً در سال ۱۹۷۰ نوشته شدهاست . ولی این زبان هیچ گاه محبوبیت چندانی کسب نکرد و به نظر میرسد که در سال ۱۹۷۰ بدون هیچ اثری ناپدید شد.
زبان بعدی که بر پایهٔ زبان CPL نوشته شد ، بیسیپیال نامیده شد (این نام برگرفته از "Basic CPL" به معنای بر اساس CPL میباشد ، اگرچه در اصل مخفف "Bootstrap CPL" به معنای CPL خودراه انداز بود.)
BCPL زبان ساده تری میباشد و مشخصاً نامزد زبان برنامهنویسی سیستم مانند نوشتن کامپایلر بود.
BCPL بعدها درخشید ، توسط زبان برنامهنویسی B , به سوی زبان برنامهنویسی مشهور و با نفوذ C پیش رفت.
مثال
تابع MAX که توسط Peter Noving نوشته شدهاست:
Max(Items, ValueFunction) = value of § (Best, BestVal) = (NIL, -∞) while Items do § (Item, Val) = (Head(Items), ValueFunction(Head(Items))) if Val> BestVal then (Best, BestVal) := (Item, Val) Items := Rest(Items) § result is Best §
کتاب شناسی
- Collected papers of Christopher Strachey, section pertaining to CPL, archived at the Bodleian Library, Oxford; CSAC 71.1.80/C.136-C.184
- D. W. Barron, J. N. Buxton, D. F. Hartley, E. Nixon, and C. Strachey. "The main features of CPL" The Computer Journal 6:2:134-143 (1963).