You can’t hide from concurrency

There are libraries, frameworks, languages and runtime environments that seek to shield software developers from having to understand concurrency–or at least are said to do so. In my experience, this doesn’t work.

I’m all for making developers’ lives easier and sparing users the effects of concurrency-related implementation errors. But tool support gets us only so far: we might succeed in making concurrency-related concerns invisible to developers, but they still need to understand concurrency issues on a conceptual level–maybe doubly so if they’re invisible in code. Failing that, we likely end up with beautifully looking code that blows up in amazing ways at runtime.

Been there, done that, yet another t-shirt is being printed as we speak.

3 thoughts on “You can’t hide from concurrency

  1. Gene Hughson

    “hey still need to understand concurrency issues on a conceptual level–maybe doubly so if they’re invisible in code”

    Absolutely! Failing to understand what’s going on under the covers can lead to all sorts of problems and not just with concurrency (performance is another big potential problem area when people don’t understand what’s happening under the abstraction). My rule for tools: that which does for you often does to you.

    Reply
  2. Pingback: #4U2U – Canned Competency, Values & Pragmatism | Form Follows Function

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.