Some Parallel Programming Links

27Sep07

Coincidentally, I have stumbled into a few interesting links about parallel programming over the past few days.

Task Parallel Library – Really cool, practical library for doing multithreaded programming in .NET. If anything it makes it a little too easy–it’s not a substitute for knowing the ins and outs of concurrent shared-memory programming, and you can’t just swap out your for loops with Parallel.For() (tempting as that may be). But this does make the syntax WAY nicer. The fact that they’ve made the management overhead pretty low (faster than ThreadPool) is a nice bonus.

Wide Finder Project – I’m glad to see Tim Bray dabbling in Erlang from a practical perspective. So far all I’ve heard are raves on blogs about how threading is dead and Erlang (or at least Erlang-style message passing) is the future. It’s definitely news to me that I/O and string handling are both massively slower in Erlang than Ruby, which is itself one of the slowest mainstream-ish languages around.

Speaking of Erlang, I’m also very curious to see 1) how practical it is to break gnarly real-world business logic into these little chunks that don’t share state, and 2) whether the 99% of programmers in the world who aren’t geniuses, PhD’s, or language geeks are ready to learn how to write programs without mutable state.

I have not learned Erlang yet so I should definitely refrain from further comments until I do!