CPL (бағдарламалау тілі) - CPL (programming language)

CPL
ПарадигмаМультипарадигма:процессуалдық, императивті, құрылымдалған, функционалды
ЖобалағанКристофер Страхи т.б.
Бірінші пайда болды1963; 57 жыл бұрын (1963)
Әсер еткен
ALGOL 60
Әсер етті
BCPL, POP-2

CPL (Аралас бағдарламалау тілі) Бұл көппарадигмалық бағдарламалау тілі, бұл 1960 жылдардың басында дамыған. Бұл ерте аталар C тілі арқылы BCPL және B тілдер.

Дизайн

CPL[1] бастапқыда математикалық зертханада жасалған Кембридж университеті «Кембридж бағдарламалау тілі» ретінде және кейіннен Кембридж бен Лондон университеті Компьютерлік блок «Аралас бағдарламалау тілі» ретінде. Кристофер Страхи, Дэвид Баррон және басқалары оны дамытуға қатысты. (CPL-ді кейбіреулер «Cambridge Plus London» деп те атаған[2] немесе «Кристофердің бағдарламалау тілі»). Оны сипаттайтын алғашқы құжат 1963 жылы жарық көрді, ал ол іске асырыла бастады Titan Computer Кембриджде және Atlas Computer Лондонда.

Бұған қатты әсер етті ALGOL 60, бірақ өте кішкентай, талғампаз және қарапайым болудың орнына, CPL ғылыми есептеулерге қарағанда кеңірек қолдану аймағына арналған, сондықтан ALGOL 60 сияқты өте күрделі және талғампаз емес еді. CPL өз уақыты үшін үлкен тіл болды. CPL ALGOL шеңберінен шығып, өндірістік процестерді бақылау, іскери деректерді өңдеу және кейбір командалық командалық ойындарды қамтуға тырысты.[3] CPL төмен деңгейлі бағдарламалауға және сол тілді қолдана отырып, жоғары деңгейлі абстракциялауға мүмкіндік беруге арналған.

Алайда, CPL өте баяу жүзеге асырылды. Бірінші CPL компиляторы 1970 жылы жазылған шығар,[4] бірақ бұл тіл ешқашан үлкен танымалдыққа ие болған жоқ және 1970 жылдары із-түзсіз жоғалып кеткен сияқты.

BCPL («Basic CPL» үшін, бастапқыда «Bootstrap CPL» болғанымен), CPL негізіндегі, негізінен жүйелерді бағдарламалау тіл, әсіресе жазу үшін құрастырушылар;[5] ол 1967 жылы, CPL алғашқы енгізілуіне дейін іске асырылды. BCPL содан кейін басқарды, арқылы B, танымал және ықпалды C бағдарламалау тілі.

Мысал

MAX функциясы Питер Норвиг тұжырымдаған:[4]

Max (Items, ValueFunction) = мәні§ (Best, BestVal) = (NIL, -∞), ал элементтер § жасайды (Item, Val) = (Head (Items), ValueFunction (Head (Items))) егер Val> BestVal содан кейін (Best, BestVal): = (тармақ, мән) тармақтары: = демалыс (элементтер) §⃒нәтижесі ең жақсы §⃒

(«§» ашылу белгісіне сәйкес келетін жабылу символы «§» болып табылады, ол тік сызықпен өтеді. Бұл таңба Unicode-де «§⃒» түрінде жасалуы мүмкін, ол § (U + 00A7, БӨЛІМ БӨЛІМІ) ⃒ (U + 20D2, ҰЗЫНДЫҚТЫҚ ТІЗІКТІҢ ОРНЫН АЙНАЛДЫРУ), бірақ ол сіздің браузеріңізде дұрыс көрсетілмеуі мүмкін.)

Іске асыру

Біздің ойымызша, CPL 1960-шы жылдары ешқашан толығымен енгізілмеген, теориялық құрылым ретінде қолданылып, ішінара жүзеге асырумен байланысты бірнеше зерттеу жұмыстары жүргізілген.[6]

Питер Норвиг жазды (Yapps үшін, Python үшін) құрастырушы-құрастырушы ) қарапайым CPL Python қазіргі машиналарға арналған аудармашы.[7][бастапқы емес көз қажет ]

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Баррон, Д.В .; Бакстон, Дж. Н .; Хартли, Д. Ф .; Никсон, Е .; Strachey, C. (1963-08-01). «CPL-нің негізгі ерекшеліктері». Компьютерлік журнал. 6 (2): 134–143. дои:10.1093 / comjnl / 6.2.134. ISSN  0010-4620.
  2. ^ «CPL және BCPL бойынша Clive Feather». Lysator.liu.se. Алынған 2013-08-18.
  3. ^ Ядав, П. (2005). Компьютер және тілдер. Discovery баспасы. ISBN  978-81-8356-041-2.
  4. ^ а б Питер Норвиг. «Заманауи, бірақ жетілмеген: жүйелерді талдау туралы 1966 жылғы американдық ғылыми мақалаға көзқарас». Blogs.scientificamerican.com. Алынған 2013-08-18.
  5. ^ Митчелл, Джон С .; Apt, Krzysztof (2003). Бағдарламалау тілдеріндегі түсініктер. Кембридж университетінің баспасы. ISBN  978-0-521-78098-8.
  6. ^ Кулурис, Г.Ф. (1 қаңтар 1968). «Лондон CPL1 компиляторы». Компьютерлік журнал. 11: 26–30. дои:10.1093 / comjnl / 11.1.26.
  7. ^ Норвиг, Петр. «CPL талдаушысы». Алынған 8 наурыз 2020.

Библиография