Switch to parallel coding

we all write code for one processor. I wonder when we can all write code on multiple processors?

What do we need (software, logic, algorithms) for this switch?

edit: in my opinion, since we perform many tasks in parallel, in the same way we need to convert these real solutions (algorithms) into computer languages. same as OOP encoding for procedural encoding. OOP is a more realistic coding style than a procedural one. therefore, I hope for such decisions.

+3
source share
7 answers

I think the most important requirement is a good language that has built-in constructors that support parallelism or one that can automatically generate parallel code. There are quite a few languages ​​that match this description, but none of them are popular enough to be considered for general use. This, in turn, is caused by several things:

  • By their very nature, these languages ​​are very different from modern imperative languages, and therefore they are more difficult to learn (or at least in this way).
  • They often lack good tools and libraries, which makes them unsuitable for any "real" project.

, , , , - , . , , , .:)

, , Erlang - .

+4

. (: Erlang) , . , fork/join map/reduce, .

concurrency . concurrency . , " ". , .

, concurrency Clojure . , (think: databases) . "" , .

, . concurrency , . , , . , Scala Clojure , , (JVM).

+4

, - , , , ( , ). Erlang, .

+3

/, . FORTRAN, C ++, OpenMP ( ) (MPI) ( , ). OpenMP , , . MPI , , , . , MPI . / , .

, Fortress. , , , FORTRAN. . , parallelism ; , - . , Sun java, .

+3

, . , : dev, , - ?

0

, . , , , (, " - ?" ) , , .

0

java Parallel Java Library DPJ ( Java!) parallelism !!

0

Source: https://habr.com/ru/post/1697102/


All Articles