4 ms·
Concurrency.. the way i understand it, it is about making parts of the program run independent of each other and thus can run at the same time. But you might w
by gens 6y ago
Concurrency.. the way i understand it, it is about making parts of the program run independent of each other and thus can run at the same time.
But you might want to check out someone who knows better, like Rob Pike: https://www.youtube.com/watch?v=cN_DpYBzKso https://www.youtube.com/watch?v=cN_DpYBzKso
Yes, Erlang makes concurrent programs easier to write.
Again it is better to listen to someone who knows more, like the creator of Erlang Joe Armstrong: https://www.youtube.com/watch?v=bo5WL5IQAd0 https://www.youtube.com/watch?v=bo5WL5IQAd0
Any talk by him is great.
Erlang, in how i see it, makes it easier to write concurrent programs because:
1. Parts of a program communicate with other parts by passing messages
2. Every variable is static, as in if you declare that A is 12 you can not change it to be 13
Joe Armstrong had a way of explaining these things so that even i could understand, so i do recommend watching every talk you can find of him. I also recommend the interview he did of Alan Kay https://www.youtube.com/watch?v=fhOHn9TClXY https://www.youtube.com/watch?v=fhOHn9TClXY .
But if you want to really get into concurrency i recommend a paper called "Communicating Sequential Processes" by C. A. R. Hoare. See http://www.usingcsp.com/ http://www.usingcsp.com/
It's a "formal language" for dealing with concurrency. Go, and some other languages, implement a "CSP style" way of doing concurrency.
Erlang doesn't do SIMD, nor GPU. However, it does world scale low latency systems.
Of course, it's still up to the programmer to do everything correctly and Erlang is just a tool.
I don't quite like *JS, so i won't say anything about that.