Rewind the clock to mid-2004. Around this time awareness about the looming “concurrency sea change” was rapidly growing industry-wide, and indeed within Microsoft an increasing number of people – myself included – began to focus on how the .NET Framework, CLR, and Visual C++ environments could better accommodate first class concurrent programming. Of course, our colleagues in MSR and researchers in the industry more generally had many years’ head start on us, in some cases dating back 3+decades. It is safe to say that there was no shortage of prior art to understand and learn from.
Joe describes his journey with software-transactional memory; it is long. Shall be interesting to read this in detail an compare to Clojure experience. I think the conclusion is that you need to have this in from the start; code cannot be retrofitted with STM.
Just like many other language features we want, the large body of code in existing platforms makes us reluctant to "do the right thing"...
Comments