4 ms·
But the language that's often held up as the best solution to any given parallelism problem is Erlang. Occam implements a lot of similar ideas very neatly too.
by kitd 5y ago
But the language that's often held up as the best solution to any given parallelism problem is Erlang.
Occam implements a lot of similar ideas very neatly too. The code looks a lot like programming with Go channels and CSP. I am surprised it hasn't caught on better in the multi-core world, it being older than even Erlang.
- acchow 5y ago> I am surprised it hasn't caught on better in the multi-core world, it being older than even Erlang. Because multicore support in Ocaml has been "just a couple years away" for many years now.
- krylon 5y agoOccam, not Ocaml. They are two different languages. Although I have no idea if Occam can utilize multiple cores.
- TickleSteve 5y agoOccam was designed for the Transputer, which was intended to be used in arrays of processors, hence it being based on CSP principles. So, yes. it can.
- krylon 5y agoTIL Thank you!
- acchow 5y agoOops misread that.
- Jtsummers 5y agoI had to double check, the last Occam release was in 1994. I think the language was way to niche, and global communication way too poor still (compared to the '00s and '10s with ubiquitous or near ubiquitous internet access) to catch on. It was nearly a decade later that the first consumer multicore x86 processors started coming out (2003 if I've tracked down the right dates). And multicore didn't become common for a few more years and then the baseline near the end of the '00s, beginning of the '10s. That time gap and relative unknown of Occam pretty much doomed it even if it would have been wildly useful. By that point you had lots of other languages to come out, and Google pushing Go.
- jhgb 5y ago> It was nearly a decade later that the first consumer multicore x86 processors started coming out (2003 if I've tracked down the right dates). Talking about consumers, ABIT BP6 came out in 1999.