WikiDer > Список языков параллельного и параллельного программирования - Википедия
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
В этой статье перечислены параллельные и языки параллельного программирования, классифицируя их по определению парадигма. Языки параллельного и параллельного программирования включают несколько временных рамок. Такие языки предоставляют конструкции синхронизации поведение которого определяется параллельным модель исполнения. А язык параллельного программирования определяется как тот, который использует концепцию одновременного выполнения процессов или потоков выполнения как средство структурирования программы. Параллельный язык может выражать программы, которые выполняются более чем на одном процессоре. Приведены оба типа, поскольку параллелизм - полезный инструмент для выражения параллелизма, но в нем нет необходимости. В обоих случаях функции должны быть частью синтаксиса языка, а не расширением, например библиотекой (библиотеки, такие как библиотека posix-thread, реализуют параллельный модель исполнения но не хватает синтаксиса и грамматики, необходимых для языка программирования).
Следующие категории призваны отразить основную определяющую особенность содержащихся языков, но они не обязательно ортогональны.
Языки координации
- CnC (параллельные коллекции)
- Гленда
- Линда координационный язык
- Многоножка
Программирование потока данных
- CAL
- E (также объектно-ориентированный)
- Джоуль (также распространяется)
- LabView (также синхронно)
- Блеск (также синхронно)
- Preesm (также синхронно)
- Сигнал (также синхронно)
- СИЗАЛ
- BMDFM
Распределенных вычислений
- цвести
- Изумруд
- Гермес
- Юля
- Лимбо
- MPD
- Унция - Мультипарадигмальный язык с особой поддержкой ограниченного и распределенного программирования.
- Секвойя
- SR
Событийное и аппаратное описание
- Эстерель (также синхронно)
- SystemC
- SystemVerilog
- Verilog
- Verilog-AMS - математическое моделирование систем непрерывного времени
- VHDL
Функциональное программирование
Логическое программирование
На основе монитора
Многопоточный
- C =
- Силк
- Силк Плюс
- Cind
- C #
- Clojure
- Параллельный Паскаль
- Изумруд
- Fork - язык программирования для PRAM модель.
- Идти
- Ява
- ParaSail
- Ржавчина[2]
- SequenceL
Объектно-ориентированного программирования
- мкС ++
- Ада
- C *
- C #
- C ++ AMP
- Очарование ++
- Cind
- Язык программирования D
- Эйфель SCOOP (простое параллельное объектно-ориентированное программирование)
- Изумруд
- Ява
- Присоединяйтесь к Java - Язык на основе Java с функциями из соединительное исчисление.
- ParaSail
- Болтовня
Разделенное глобальное адресное пространство (PGAS)
- Часовня
- Coarray Fortran
- Крепость
- Высокопроизводительный Фортран
- Титан
- Унифицированный параллельный C
- X10
- ZPL
Передача сообщений
- Ateji PX - Расширение Ява с параллельными примитивами, вдохновленными пи-исчисление.
- Ржавчина[3]
- Болтовня[4]:стр.17 Часть IV, см. таблицу после рис. 11–29
Актерская модель
- Аксум - предметно-ориентированный язык, разрабатываемый Microsoft.
- Дротик - с помощью Изолирует
- Эликсир (работает на ЛУЧ, виртуальная машина Erlang)
- Erlang
- Пони (язык программирования)
- Янус
- красный
- САЛЬСА
- Scala/Akka (инструментарий)
- Болтовня
- Akka.NET
- LabVIEW - Labview Actor Framework
На базе CSP
- Алеф
- Кристалл[5]
- Простота
- FortranM
- Идти
- JCSP
- JoCaml
- Джойс
- Лимбо (также распространяется)
- Newsqueak
- Оккам
- Оккам-π - производная от Оккам который объединяет функции из пи-исчисление
- PyCSP
- СуперПаскаль
- XC - язык на основе C, интегрирующий функции из Оккам, разработан XMOS
API / фреймворки
Эти интерфейсы прикладного программирования поддерживают параллелизм в основных языках.
- Apache Hadoop
- Apache Spark
- Apache Flink
- Apache Beam
- CUDA
- OpenCL
- OpenHMPP
- OpenMP для C, C ++ и Fortran (разделяемая память и подключенные графические процессоры)
- Интерфейс передачи сообщений для C, C ++ и Fortran (распределенные вычисления)
Смотрите также
- Параллельные вычисления
- Список языков параллельного программирования
- Модель параллельного программирования
Рекомендации
- ^ Том Фрювирт (9 июля 2009 г.). Правила обработки ограничений. Издательство Кембриджского университета. ISBN 978-0-521-87776-3.
- ^ "Threads - язык программирования Rust". doc.rust-lang.org. Получено 2017-09-15.
- ^ "Передача сообщений - язык программирования Rust". doc.rust-lang.org. Получено 2017-09-15.
- ^ Алан Кей Ранняя история Smalltalk
- ^ "Язык программирования Crystal - параллелизм". Получено 10 августа 2018.