47:
is defined as one which uses the concept of simultaneously executing processes or threads of execution as a means of structuring a program. A parallel language is able to express programs that are executable on more than one processor. Both types are listed, as concurrency is a useful tool in
48:
expressing parallelism, but it is not necessary. In both cases, the features must be part of the language syntax and not an extension such as a library (libraries such as the posix-thread library implement a parallel
193:
157:
719:
724:
55:
The following categories aim to capture the main, defining feature of the languages contained, but they are not necessarily orthogonal.
751:
1092:
17:
938:
1097:
519:
409:
974:
769:
36:
499:
590:
699:
611:
568:
456:
44:
780:
537:
494:
435:
429:
414:
376:
348:
290:
162:
714:
708:
704:
596:
573:
529:
285:
275:
214:
167:
128:
116:
72:
28:
855:
835:
826:
815:
810:
737:
327:
295:
177:
172:
104:
785:
775:
695:
689:
666:
656:
578:
548:
478:
461:
446:
32:
943:
729:
634:
629:
484:
280:
182:
915:
795:
441:
388:
360:
333:
305:
198:
187:
35:. Concurrent and parallel programming languages involve multiple timelines. Such languages provide
616:
524:
210:
98:
964:
259:
64:
1025:
190:- Multi-paradigm language with particular support for constraint and distributed programming.
151:
933:
87:
394:
8:
1065:
1026:"Using Message Passing to Transfer Data Between Threads - The Rust Programming Language"
624:
93:
990:
1051:
1013:
970:
424:
371:
366:
532:
646:
608:
since
Fortran 2008, further extensions were added with the Fortran 2018 standard)
601:
49:
40:
870:
These application programming interfaces support parallelism in host languages.
741:
1086:
884:
557:
270:
231:
1014:
Documentation » The Python
Standard Library » Concurrent Execution
889:
879:
991:"Using Threads to Run Code Simultaneously - The Rust Programming Language"
874:
849:
839:
683:
660:
241:
52:
but lack the syntax and grammar required to be a programming language).
504:
831:
821:
746:
671:
553:
514:
509:
466:
404:
315:
310:
1048:
904:
844:
790:
652:
756:
605:
563:
542:
451:
419:
300:
265:
236:
226:
220:
110:
909:
899:
805:
343:
338:
122:
139:
134:
921:
894:
859:
800:
399:
247:
692:- a domain-specific language being developed by Microsoft.
584:
912:
for C, C++, and
Fortran (shared memory and attached GPUs)
204:
489:
533:
SCOOP (Simple
Concurrent Object-Oriented Programming)
854:XC – a C-based language, integrating features from
39:constructs whose behavior is defined by a parallel
1084:
1042:
918:for C, C++, and Fortran (distributed computing)
556:- A Java-based language with features from the
962:
472:
1066:"Crystal Programming Language – Concurrency"
956:
244:- math modeling of continuous time systems
253:
58:
939:List of concurrent programming languages
145:
113:(also synchronous, also object-oriented)
659:with parallel primitives inspired from
585:Partitioned global address space (PGAS)
81:
14:
1085:
205:Event-driven and hardware description
434:Fork – programming language for the
321:
24:
865:
838:that integrates features from the
770:Communicating sequential processes
640:
545:from the ISO Fortran 2003 standard
31:, categorizing them by a defining
27:This article lists concurrent and
25:
1109:
382:
1093:Concurrent programming languages
591:Partitioned global address space
354:
45:concurrent programming language
1098:Lists of programming languages
1058:
1053:The Early History Of Smalltalk
1018:
1007:
983:
969:. Cambridge University Press.
963:Thom Frühwirth (9 July 2009).
677:
29:parallel programming languages
13:
1:
949:
711:, the Erlang virtual machine)
215:Hardware Description Language
763:
328:Concurrent logic programming
65:CnC (Concurrent Collections)
7:
927:
720:Pony (programming language)
479:Object-oriented programming
473:Object-oriented programming
73:Linda coordination language
10:
1114:
944:Parallel programming model
767:
681:
644:
604:(included in standard/ISO
588:
476:
386:
358:
325:
257:
208:
149:
85:
966:Constraint Handling Rules
916:Message Passing Interface
759:- LabVIEW Actor Framework
389:Multithreading (software)
361:Monitor (synchronization)
334:Constraint Handling Rules
18:XC (programming language)
617:High Performance Fortran
211:Event-driven programming
525:D programming language
260:Functional programming
254:Functional programming
101:(also object-oriented)
59:Coordination languages
152:Distributed computing
146:Distributed computing
934:Concurrent computing
88:Dataflow programming
82:Dataflow programming
834:– a derivative of
818:(also distributed)
655:- An extension of
625:Unified Parallel C
223:(also synchronous)
131:(also synchronous)
125:(also synchronous)
119:(also synchronous)
107:(also distributed)
1030:doc.rust-lang.org
995:doc.rust-lang.org
976:978-0-521-87776-3
425:Concurrent Pascal
372:Concurrent Euclid
367:Concurrent Pascal
322:Logic programming
16:(Redirected from
1105:
1077:
1076:
1074:
1072:
1062:
1056:
1046:
1040:
1039:
1037:
1036:
1022:
1016:
1011:
1005:
1004:
1002:
1001:
987:
981:
980:
960:
21:
1113:
1112:
1108:
1107:
1106:
1104:
1103:
1102:
1083:
1082:
1081:
1080:
1070:
1068:
1064:
1063:
1059:
1047:
1043:
1034:
1032:
1024:
1023:
1019:
1012:
1008:
999:
997:
989:
988:
984:
977:
961:
957:
952:
930:
868:
866:APIs/frameworks
858:, developed by
772:
766:
686:
680:
649:
647:Message passing
643:
641:Message passing
602:Coarray Fortran
593:
587:
481:
475:
391:
385:
363:
357:
330:
324:
262:
256:
217:
209:Main articles:
207:
154:
148:
90:
84:
61:
50:execution model
41:execution model
37:synchronization
23:
22:
15:
12:
11:
5:
1111:
1101:
1100:
1095:
1079:
1078:
1057:
1041:
1017:
1006:
982:
975:
954:
953:
951:
948:
947:
946:
941:
936:
929:
926:
925:
924:
919:
913:
907:
902:
897:
892:
887:
882:
877:
867:
864:
863:
862:
852:
847:
842:
829:
824:
819:
813:
808:
803:
798:
793:
788:
783:
778:
768:Main article:
765:
762:
761:
760:
754:
749:
744:
742:Akka (toolkit)
735:
732:
727:
722:
717:
712:
702:
693:
682:Main article:
679:
676:
675:
674:
669:
664:
645:Main article:
642:
639:
638:
637:
632:
627:
622:
619:
614:
609:
599:
589:Main article:
586:
583:
582:
581:
576:
571:
566:
561:
551:
546:
540:
535:
527:
522:
517:
512:
507:
502:
497:
492:
487:
477:Main article:
474:
471:
470:
469:
464:
459:
454:
449:
444:
439:
432:
427:
422:
417:
412:
407:
402:
397:
387:Main article:
384:
383:Multi-threaded
381:
380:
379:
374:
369:
359:Main article:
356:
353:
352:
351:
346:
341:
336:
326:Main article:
323:
320:
319:
318:
313:
308:
303:
298:
293:
288:
283:
278:
273:
268:
258:Main article:
255:
252:
251:
250:
245:
239:
234:
229:
224:
206:
203:
202:
201:
196:
191:
185:
180:
175:
170:
165:
160:
150:Main article:
147:
144:
143:
142:
137:
132:
126:
120:
114:
108:
102:
96:
86:Main article:
83:
80:
79:
78:
75:
70:
67:
60:
57:
9:
6:
4:
3:
2:
1110:
1099:
1096:
1094:
1091:
1090:
1088:
1067:
1061:
1055:
1054:
1050:
1045:
1031:
1027:
1021:
1015:
1010:
996:
992:
986:
978:
972:
968:
967:
959:
955:
945:
942:
940:
937:
935:
932:
931:
923:
920:
917:
914:
911:
908:
906:
903:
901:
898:
896:
893:
891:
888:
886:
885:Apache Hadoop
883:
881:
878:
876:
873:
872:
871:
861:
857:
853:
851:
848:
846:
843:
841:
837:
833:
830:
828:
825:
823:
820:
817:
814:
812:
809:
807:
804:
802:
799:
797:
794:
792:
789:
787:
784:
782:
779:
777:
774:
773:
771:
758:
755:
753:
750:
748:
745:
743:
739:
736:
733:
731:
728:
726:
723:
721:
718:
716:
713:
710:
706:
703:
701:
697:
694:
691:
688:
687:
685:
673:
670:
668:
665:
662:
658:
654:
651:
650:
648:
636:
633:
631:
628:
626:
623:
620:
618:
615:
613:
610:
607:
603:
600:
598:
595:
594:
592:
580:
577:
575:
572:
570:
567:
565:
562:
559:
558:join-calculus
555:
552:
550:
547:
544:
541:
539:
536:
534:
531:
528:
526:
523:
521:
518:
516:
513:
511:
508:
506:
503:
501:
498:
496:
493:
491:
488:
486:
483:
482:
480:
468:
465:
463:
460:
458:
455:
453:
450:
448:
445:
443:
440:
437:
433:
431:
428:
426:
423:
421:
418:
416:
413:
411:
408:
406:
403:
401:
398:
396:
393:
392:
390:
378:
375:
373:
370:
368:
365:
364:
362:
355:Monitor-based
350:
347:
345:
342:
340:
337:
335:
332:
331:
329:
317:
314:
312:
309:
307:
304:
302:
299:
297:
294:
292:
289:
287:
284:
282:
279:
277:
274:
272:
271:Concurrent ML
269:
267:
264:
263:
261:
249:
246:
243:
240:
238:
235:
233:
232:SystemVerilog
230:
228:
225:
222:
219:
218:
216:
212:
200:
197:
195:
192:
189:
186:
184:
181:
179:
176:
174:
171:
169:
166:
164:
161:
159:
156:
155:
153:
141:
138:
136:
133:
130:
127:
124:
121:
118:
115:
112:
109:
106:
103:
100:
97:
95:
92:
91:
89:
76:
74:
71:
68:
66:
63:
62:
56:
53:
51:
46:
42:
38:
34:
30:
19:
1069:. Retrieved
1060:
1052:
1044:
1033:. Retrieved
1029:
1020:
1009:
998:. Retrieved
994:
985:
965:
958:
890:Apache Spark
880:Apache Flink
869:
54:
26:
875:Apache Beam
850:SuperPascal
840:pi-calculus
684:Actor model
678:Actor model
661:pi-calculus
242:Verilog-AMS
1087:Categories
1035:2022-10-11
1000:2022-10-11
950:References
505:TypeScript
500:JavaScript
1071:10 August
822:Newsqueak
764:CSP-based
747:Smalltalk
707:(runs on
672:Smalltalk
554:Join Java
467:SequenceL
405:Cilk Plus
316:SequenceL
311:MultiLisp
77:Millipede
1049:Alan Kay
928:See also
905:OpenHMPP
791:FortranM
752:Akka.NET
700:Isolates
698:- using
653:Ateji PX
621:Titanium
612:Fortress
569:ParaSail
457:ParaSail
33:paradigm
832:Occam-π
781:Crystal
757:LabVIEW
606:Fortran
564:LabVIEW
543:Fortran
538:Emerald
515:Charm++
510:C++ AMP
452:LabVIEW
430:Emerald
420:Clojure
377:Emerald
349:Mercury
301:Haskell
291:Futhark
266:Clojure
237:Verilog
227:SystemC
221:Esterel
194:Sequoia
163:Emerald
111:LabVIEW
973:
910:OpenMP
900:OpenCL
806:JoCaml
715:Erlang
705:Elixir
597:Chapel
574:Python
530:Eiffel
438:model.
344:Prolog
339:Parlog
286:Erlang
276:Elixir
168:Hermes
129:Signal
123:Preesm
117:Lustre
69:Glenda
856:Occam
845:PyCSP
836:Occam
827:Occam
816:Limbo
811:Joyce
738:Scala
734:SALSA
725:Janus
296:Gleam
178:Limbo
173:Julia
158:Bloom
140:BMDFM
135:SISAL
105:Joule
1073:2018
971:ISBN
922:SYCL
895:CUDA
860:XMOS
801:JCSP
786:Ease
776:Alef
709:BEAM
696:Dart
690:Axum
667:Rust
657:Java
579:Ruby
549:Java
520:Cind
462:Rust
447:Java
436:PRAM
410:Cind
400:Cilk
248:VHDL
213:and
43:. A
730:Red
635:ZPL
630:X10
485:Ada
281:Elm
183:MPD
94:CAL
1089::
1028:.
993:.
796:Go
495:C#
490:C*
442:Go
415:C#
395:C=
306:Id
199:SR
188:Oz
1075:.
1038:.
1003:.
979:.
740:/
663:.
560:.
99:E
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.