Actors that Unify Threads and Events (Lambda the Ultimate)
Threads Considered Harmful (O’Reilly Radar)
Conclusion 1: Concurrency is massively important for the future, and threads are a lousy way of addressing it.
Conclusion 2: The Languages of the Future are ECMAScript and Scala, because (among other reasons) their creators are doing concurrency right.
Open Question: What about .NET? Obviously, ECMAScript (JScript) will work there, but will Scala be rehosted to the CLR? Or is there another language that can carry the standard (static typing + type inference + shared-nothing concurrency + closures + functions as first-class objects) on that platform?