Языки параллельного программирования

Большинство компьютерных архитектур и языков программирования ориентированы на последовательное выполнение операторов программы. В настоящее время существуют программно-аппаратные комплексы, позволяющие организовать параллельное выполнение различных частей одного и того же вычислительного процесса. Для программирования таких систем необходима специальная поддержка со стороны средств программирования, в частности языков программирования. Некоторые языки общего назначения содержат в себе элементы поддержки параллелизма, однако программирование истинно параллельных систем требует подчас специальных приемов.

Язык Occam был создан в 1982 г. и предназначен для программирования транспьютеров – многопроцессорных систем распределенной обработки данных. Он описывает взаимодействие параллельных процессов в виде каналов – способов передачи информации от одного процесса к другому.

В 1985 г. была предложена модель параллельных вычислений Linda. Основной ее задачей является организация взаимодействия между параллельно выполняющимися процессами. Linda может быть добавлена в любой язык программирования. Существуют достаточно эффективные реализации Linda.

Неимперативные языки

Все языки, о которых шла речь ранее, имеют одно общее свойство: они реализуют императивную парадигму. Это означает, что программы на них в конечном итоге представляют собой пошаговое описание решения той или иной задачи. Можно попытаться описывать лишь постановку проблемы, а решать задачу поручить компилятору. Существует два основных подхода, развивающие эту идею: функциональное и логическое программирование.

 
< Пред   СОДЕРЖАНИЕ     След >