Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Nothing beats serial programming imo
  • Nope! Parallel programming is all yahoo, wee, look at that go!

    Then comes the parallel debugging.

    Pretty soon it's 15 years later, different person, yahoo-wee bro having long moved on.

  • Writing concurrent code is fun. The problem is that debugging it feels like trying to catch a ghost that only haunts your system at 3 AM on a Saturday.
  • Spent days tracking down a deadlock that only manifested under specific load. Definitely hard, even with good tooling.
  • Should have been titled "Is Parallel Programming What Can You Hard, And, If So, Do About It?"
  • I would probably recommend the art of multiprocessor programming (herlihy and shavitz) as a good starting point for concurrent programming. There is also " A primer on memory consistency and cache coherence" (Nagarajan et al) if you want to get more into the interaction between memory consistency and coherence.
  • The Raku language (formerly Perl 6) and its underlying VM has features to support parallel programming, concurrency and asynchrony, designed to make common cases relatively easy to code and avoid pitfalls.

    Jonathan Worthington, the author of the VM and these features, has given an excellent presentation on the concepts and their implementation.

    https://www.youtube.com/watch?v=JpqnNCx7wVY

  • This review seems to equate parallelism and concurrency as the same thing and they are not.

    As I understand it, the parallelism is about task execution and concurrency is about task structure. Or, as Rob Pike said:

    "Concurrency is about dealing with lots of things at once. Parallelism is about doing lots of things at once."

    He said that in his Concurrency is not Parallelism talk.

Explore Birbla archives

Book review: Is parallel programming hard, and, if so, what can you do about it? · Birbla