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

Специализирванные параллельные языки и расширения существующих языков.


Параллельные расширения и диалекты языка Fortran:
Fortran-DVM, Cray MPP Fortran, F--, Fortran 90/95, Fortran D95, Fortran M, Fx, HPF, Opus, Vienna Fortran,
Параллельные расширения и диалекты языков C/C++: C-DVM, A++/P++, CC++, Charm/Charm++, Cilk, HPC, HPC++, Maisie, Mentat, mpC, MPC++, Parsec, pC++, sC++, uC++,
Другие параллельные языки и расширения:
НОРМА, ABCL, Adl, Ada, Concurrent Clean, MC#, Erlang, Linda, Modula-3, NESL, Occam, Orca, Parallaxis, Phantom, Sisal, SR, ZPL

НОРМА

  • НОРМА - язык непроцедурной спецификации вычислительных задач.
  • Разработан в ИПМ РАН.
  • Смотрите также: карта российских исследований, проект [ИПМ РАН/НОРМА].

ABCL

  • ABCL (An object-Based Concurrent Language) - параллельный язык, сочетающий в себе элементы объектно-ориентированного программирования и средства посылки сообщений.
  • Другие ссылки: Скачать по ftp

Adl

  • Adl - функциональный язык с небольшим числом конструкций и типов данных, разработанный для написания параллельных программ. Ориентирован на программирование абстрактной машины с распределенной памятью.

Ada

  • Ada - универсальный язык программирования, включающий в себя средства для создания параллельных программ. Официальный язык программирования министерства обороны США. Существует множество компиляторов для самых разных платформ.
  • Текущая версия: Ada-95
  • Списки рассылки/новостные группы: comp.lang.ada, Team Ada, Web_ada

Concurrent Clean

  • Concurrent Clean - многоцелевой язык программирования высокого уровня, позволяющий создавать как последовательные, так и параллельные программы. Существуют реализации для многих платформ.
  • Текущая версия: 1.3

MC#

  • MC# - новый проект по созданию асинхронного параллельного языка программирования MC#, ориентированного на кластерные и GRID-архитектуры, который позволил бы использовать все преимущества языка C# в параллельном программировании. Этот язык позволяет создавать эффективный и в то же время легкочитаемый программный код, который к тому же может исполняться как в локальном, так и в распределённом режимах.
  • Текущая версия: 1.2-16 для Windows и Linux

DVM

(зеркала: DVM1, DVM2)

  • DVM-система предназначена для создания переносимых и эффективных вычислительных приложений на языках C-DVM и Fortran-DVM для параллельных компьютеров с различной архитектурой.
  • Аббревиатура DVM соответствует двум понятиям: Distributed Virtual Memory и Distributed Virtual Machine. Первое отражает наличие единого адресного пространства. Второе отражает использование виртуальных машин для двухступенчатой схемы отображения данных и вычислений на реальную параллельную машину.
  • В систему DVM также входят библиотека поддержки LIB-DVM, DVM-отладчик, предсказатель выполнения DVM-программ, анализатор производительности DVM-программ.
  • Система разработана в Институте прикладной математики им. М.В.Келдыша РАН.
  • Смотрите также: Проект [ИПМ РАН/DVM].

Erlang

  • Erlang - язык программирования, позволяющий писать программы для разного рода распределенных систем. Разработан и поддерживается компанией Ericsson. Язык включет в себя средства порождения параллеьных процессов и их коммуникации с помощью посылки асинхронных сообщений. Программа транслируется в байт-код, исполняемый виртуальной машиной, что обеспечивает переносимость.
  • Текущая версия: 4.6.4

Linda

  • Linda - параллельный язык программирования. Программа рассматривается как совокупность процессов, которые могут обмениваться данными через пространство кортежей. В чистом виде практически не встречается, чаще всего используется совместно с другими языками высокого уровня как средство общения параллельных процессов.

Modula-3

  • Modula-3 - универсальный язык программирования, дальнейшее развитие языков Pascal и Modula-2. Включает в себя возможности разработки многопоточных приложений.
  • Списки рассылки/новостные группы: comp.lang.modula3
  • Другие ссылки: Modula-3 Resource Page,

NESL: A Parallel Programming Language

  • NESL - язык параллельного программирования, созданный с целью как написания параллельных программ, так и обучения. Поддерживает параллелизм по данным, позволяя задавать параллельное выполнение любых функций над однотипными данными. Включает также средства анализа производительности компьютера.
  • Текущая версия: 3.1

Occam

  • Occam - язык параллельного программирования, ориентированный в первую очередь на написание программ для транспьютерных систем.
  • Текущая версия: Occam 3

Orca

  • Orca - язык параллельного программирования для компьютеров с распределенной памятью. Предоставляет средства динамического порождения процессов и отображения их на процессоры, а также коммуникации процессов при помощи разделяемых объектов.

Parallaxis

  • Parallaxis - структурный язык параллельного программирования, основанный на языке Modula-2. Пользователю дается возможность задавать конфигурацию виртуальной машины, на которой программа должна исполняться.
  • Текущая версия: p3

Phantom


Sisal


SR (Synchronizing Resources)

  • SR - параллельный язык программирования. Основные конструкции языка: ресурсы (процессоры и данные) и операции, с помощью которых ресурсы взаимодействуют. Поддерживаются различные виды синхронизации, посылки сообщений, динамическое создание процессов, использование разделяемых переменных.
  • Текущая версия: 2.3.1
  • Списки рассылки/новостные группы: Список рассылки
  • Другие ссылки: Скачать по ftp

ZPL

  • ZPL - параллельный язык программирования. Включает в себя возможности операций на целыми массивами и секциями массивов. Программист не задает никакого параллелизма, все параллельные свойства извлекаются компилятором.
  • Текущая версия: 1.12.0
  • Списки рассылки/новостные группы: Списки рассылки

© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ Rambler's Top100