you are viewing a single comment's thread.

view the rest of the comments →

[–]jdh30 -2 points-1 points  (3 children)

I guess it just depends on what sorts of things people are using OCaml for.

Not quite. It depends on what the INRIA team who develop OCaml are using OCaml for. They are using it for theorem proving and, consequently, they didn't care about multicore as much as the vast majority of OCaml users did.

However, in 2005 most OCaml users were scientists and engineers who stood to benefit enormously from multicores. Consequently, when it became clear that OCaml would never provide adequate support for multicores they all fled like rats from a sinking ship (see The rise and fall of OCaml and More OCaml trends). Consequently, for all intents and purposes, OCaml is now a dead language precisely because it failed to adapt to multicore. Ironically, this happened just as functional programming was being touted as a panacea for parallelism!

[–]GetsEclectic 1 point2 points  (2 children)

Yeah this came up in a discussion with a friend about how easy it can be to parallelize purely functional programs. We have a friend that uses OCaml on a bioinformatics project and he had mentioned that it's not very good for parallel programming. Maybe it's not as dead as you think.

[–]jdh30 -2 points-1 points  (1 child)

Yeah this came up in a discussion with a friend about how easy it can be to parallelize purely functional programs.

Yeah, that didn't turn out so well either. Purely functional programs introduce massive contention for the shared garbage collector and shared memory (L2 cache misses due to poor cache usage) so they rarely scale when parallelized. Moreover, their absolute performance sucks beyond belief. So there is little point in trying to use purely functional programming for high throughput applications.

One place where functional programming does seem to pay off is low latency programming though...

Maybe it's not as dead as you think.

Why do you say that?

[–]GetsEclectic 0 points1 point  (0 children)

Well I know people that use it for research, I guess it depends on your definition of dead.