spends a lot of time thinking about the future of concurrent programming and parallelism. In his role as Lead Developer in the Parallel
Computing Platform team, Joe is the creator of PLINQ
and a key contributor to many of the managed (.NET)
concurrency incubations happening in and around his broader team. He's also an author (check out his latest book, Concurrent Programming
You've met Joe many times before
on C9 and the concurrency topic
should be quite familiar to you by now (There's a lot of very innovative thinking going on in the parallel computing platform team (and
it's not just about the managed world
, as you know)).
We've spent a lot time discussing library-based approaches to enabling parallelism in a readily understanable, predictable, safe and scalable way for .NET programmers. We've also spent time on language level approaches to the problem (new constructs in C# that
make it easier to compose in a semi-functional way (lamdas, LINQ, etc) or purely in a hybrid-functional way in F#
or with experimental DSLs like
, Expert to Expert host, programming language designer and one of the high priests of the lamda calculus spends a great deal of time thinking about
the problem of software's capability to scale effectively (as efficiently, safely, and as composable as possible) in the Many-Core age. So, we add Joe + Erik and we get many excellent, insightful questions and answers. Of course the notion of side-effects
plays a big role here and we even debate the merits of Haskell in the real world. This is a great conversation. It goes deep, but not so far into the rabbit hole that you won't be able to find your way back.