CPL (язык программирования) - CPL (programming language)
Парадигма | Мультипарадигма : процедурная , императивная , структурированная , функциональная |
---|---|
Разработано | Кристофер Стрейчи и др. |
Впервые появился | 1963 |
Под влиянием | |
АЛГОЛ 60 | |
Под влиянием | |
БЦПЛ , ПОП-2 |
CPL ( комбинированный язык программирования ) - это многопарадигмальный язык программирования , разработанный в начале 1960-х годов. Это ранний предок языка C через BCPL и B языках.
Дизайн
Первоначально CPL был разработан в математической лаборатории Кембриджского университета как «Кембриджский язык программирования», а затем опубликован совместно Кембриджем и компьютерным отделом Лондонского университета как «Комбинированный язык программирования». Кристофер Стрейчи , Дэвид Бэррон и другие принимали участие в его разработке. (CPL также был прозван некоторыми как «Cambridge Plus London» или «Язык программирования Кристофера»). Первая статья с его описанием была опубликована в 1963 году, когда она реализовывалась на компьютере Titan в Кембридже и компьютере Atlas в Лондоне.
На него сильно повлиял АЛГОЛ 60 , но вместо того, чтобы быть чрезвычайно маленьким, элегантным и простым, CPL был предназначен для более широкой области применения, чем научные вычисления, и поэтому был гораздо более сложным и не таким элегантным, как АЛГОЛ 60. CPL был большим языком для пора. CPL попытался выйти за рамки ALGOL и включить в него управление производственными процессами, обработку бизнес-данных и, возможно, некоторые ранние игры с командной строкой. CPL был предназначен для обеспечения возможности программирования низкого уровня и абстракций высокого уровня с использованием одного и того же языка.
Однако CPL внедрялся очень медленно. Первый компилятор CPL, вероятно, был написан примерно в 1970 году, но этот язык так и не получил особой популярности и, кажется, бесследно исчез где-то в 1970-х.
BCPL (от «Basic CPL», хотя изначально «Bootstrap CPL») был гораздо более простым языком, основанным на CPL, предназначенным в первую очередь как язык системного программирования , особенно для написания компиляторов ; он был впервые реализован в 1967 году, до первого внедрения CPL. BCPL затем привела, через B , в популярный и влиятельном языке программирования Си .
Пример
Функция MAX, сформулированная Питером Норвигом:
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 §⃒
(Закрывающий символ, соответствующий открывающему символу «§», представляет собой «§» с вертикальной чертой через него. В Unicode, «§⃒», но это не отображается правильно во многих системах.)
Реализации
Считается, что CPL никогда не был полностью реализован в 1960-х годах, существуя как теоретическая конструкция с некоторыми исследовательскими работами по частичным реализациям.
Питер Норвиг написал (для Yapps, компилятора-компилятора Python ) простой переводчик CPL в Python для современных машин.
Смотрите также
Рекомендации
Библиография
- Собрание статей Кристофера Стрейчи, раздел, относящийся к CPL, хранится в Бодлианской библиотеке в Оксфорде; CSAC 71.1.80 / C.136-C.184
- Д. У. Бэррон, Дж. Н. Бакстон, Д. Ф. Хартли, Э. Никсон и К. Стрейчи. «Основные особенности CPL». The Computer Journal 6 : 2: 134-143 (1963), доступно в Интернете .
- Дж. Бакстон, Дж. С. Грей и Д. Парк. Руководство по элементарному программированию CPL, издание II (Кембридж) .
- Институт компьютерных наук Лондонского университета и математическая лаборатория, Кембридж. Рабочие документы CPL .