Justin du Coeur (jducoeur) wrote,
Justin du Coeur

New takes on multi-threaded programming

Programmers who want to have their brains bent in some useful ways should check out the Joins Library, newly out from Microsoft Research. This extracts the multithreading concepts from their C-omega research language and reimplements them in a C#-compatible library.

Very intriguing stuff. Instead of focusing on multithreading per se, it instead focuses on asynchronous message-passing, and lets the threading fall out of that. The result is a fascinating hybrid between traditional and functional programming styles: you wind up building synchronized data objects whose methods are surprisingly declarative, and are implicitly threadsafe.

The Joins library itself is a bit clunky: while they've figured out how to make these concepts work in C#, it's not nearly as elegant as the C-omega version. And it's strictly non-commercial research code, not suitable for production use yet. Still, I think they're onto something here -- with multithreading destined to become ever more important over the next ten years, these sorts of innovative approaches are much needed...
Tags: programming

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded