Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

switch to parallel coding

we all writing code for single processor. i wonder when we all are able to write code on multi processors?

what do we need (software tools, logic, algorithms) for this switching?

edit: in my view, as we do many task parallely, same way we need to convert those real life solutions(algorithms) to computer lang. just as OOPs coding did for procedural coding. OOPs is more real life coding style than procedural one. so i hope for that kind of solutions.

like image 970
K. Santosh Avatar asked Dec 08 '22 09:12

K. Santosh


1 Answers

I think the most important requirement is a good language that has native constructs that support parallelism or one that can automatically generate parallel code. There are quite a few languages that fit that description, but none of them is popular enough to really be considered for mainstream use. That, in turn is caused by several things:

  1. By their very nature, these languages are very different from today's imperative languages, and are therefor harder to learn (or at least seem that way).
  2. They often lack good tools and libraries, making them unusable for any "real" project.

Of course, if it were more popular more people would be willing to learn it and there would be more support, so it's a kind of cycle that's pretty hard to break out of. I guess all we can do is hope. :)

An example of a language designed with heavy parallelization in mind is Erlang - and it's actually used in commercial projects.

like image 79
user17250 Avatar answered Feb 07 '23 20:02

user17250