Submission + - Reliable concurrent programming
Paul Johnson writes: "Simon Peyton-Jones reckons that trying to build reliable concurrent software using monitors and semaphores (like in Java) is like building a tower block out of bananas: even the best builders can only produce something that sort of stays up most of the time. And things are getting worse; programs for multi-core processors have to be concurrent to take advantage of their power. But Professor Peyton-Jones thinks he has the solution. For years databases have provided transactions that either succeed completely or roll back, with all the locking and concurrency hidden under the hood. Now Professor Peyton-Jones is bringing the same capability to ordinary programming. His chosen language is Haskell, and you can find him delivering a video lecture on Software Transactional Memory here."