동시 및 병렬 프로그래밍 언어 목록
List of concurrent and parallel programming languages이 글은 동시 및 병렬 프로그래밍 언어를 정의 패러다임으로 분류하여 나열한다.동시 및 병렬 프로그래밍 언어는 여러 개의 일정을 포함한다.이러한 언어는 병렬 실행 모델에 의해 동작이 정의되는 동기화 구조를 제공한다.동시 프로그래밍 언어는 프로그램 구조화 수단으로 프로세스 또는 실행 스레드를 동시에 실행하는 개념을 사용하는 언어로 정의된다.병렬 언어는 둘 이상의 프로세서에서 실행 가능한 프로그램을 표현할 수 있다.동시성이 병렬 표현에 유용한 도구인 만큼 두 가지 유형이 모두 나열돼 있지만 그럴 필요는 없다.두 경우 모두 특징은 언어 구문의 일부여야 하며 라이브러리(양식 스레드 라이브러리 같은 도서관은 병렬 실행 모델을 구현하지만 프로그래밍 언어에 필요한 구문과 문법이 부족하다)와 같은 확장자가 되어서는 안 된다.null
다음 범주는 포함된 언어의 주요 특징을 파악하는 것을 목표로 하지만 반드시 직교하는 것은 아니다.null
코디네이션
- CnC(전류 수집)
- 글렌다
- 린다 조정 언어
- 밀리페데
데이터 흐름 프로그래밍
분산 컴퓨팅
이벤트 기반 및 하드웨어 설명
기능 프로그래밍
논리 프로그래밍
모니터 기반
멀티스레드
객체 지향 프로그래밍
- 에이다
- C*
- C#
- JS
- C++AMP
- Charm+
- 신드
- D 프로그래밍 언어
- 에펠 SPUP(단순 동시 개체 지향 프로그래밍)
- 에메랄드
- 자바
- Java에 가입 - Java 기반 언어와 결합 미적분학의 특징을 가지고 있다.
- 파라세일
- 파이톤[3]
분할된 전역 주소 공간(PGAS)
메시지 전달
배우 모델
- Axum - Microsoft에서 개발 중인 도메인별 언어.
- 다트 - 절연체 사용
- Elixir(Erlang 가상 시스템인 BEAM에서 실행됨)
- 얼랑
- 포니(프로그래밍 언어)
- 야누스
- 빨간색
- 살사
- 스칼라/아크카(툴킷)
- 스몰토크
- 아크카.NET
- LabVIEW - LabView Actor Framework
CSP 기반
- 알레프
- 크리스털[6]
- 느긋하다
- 포트란M
- 가다
- JCSP
- 조캠
- 조이스
- 림보(역시 분포)
- 뉴스케이크
- 오캄
- Occam-message – Pi-miculus의 특징을 통합한 Occam의 파생 모델
- 파이CSP
- 슈퍼파스칼
- XC – C 기반 언어, XMOS에서 개발한 Occam의 기능을 통합한 통합
API/프레임워크
이러한 응용 프로그램 프로그래밍 인터페이스는 호스트 언어의 병렬화를 지원한다.null
- 아파치 하둡
- 아파치 스파크
- 아파치 플링크
- 아파치 빔
- 쿠다
- 오픈CL
- 오픈HMPP
- C, C++ 및 Fortran용 OpenMP(공유 메모리 및 연결된 GPU)
- C, C++ 및 Fortran에 대한 메시지 전달 인터페이스(분산 컴퓨팅)
참고 항목
참조
- ^ Thom Frühwirth (9 July 2009). Constraint Handling Rules. Cambridge University Press. ISBN 978-0-521-87776-3.
- ^ "Threads - The Rust Programming Language". doc.rust-lang.org. Retrieved 2017-09-15.
- ^ 설명서 » Python Standard 라이브러리 » 동시 실행
- ^ "Message Passing - The Rust Programming Language". doc.rust-lang.org. Retrieved 2017-09-15.
- ^ 앨런 케이 스몰토크의 초기 역사
- ^ "Crystal Programming Language – Concurrency". Retrieved 10 August 2018.