Microsoft seems to think it will work for mainstream languages, as they're developing an STM implementation for .NET. It's in "incubation", which means they're not certain to productise it but they are actively working toward doing so.
Worth watching if you're interested in the topic. They discuss some of the issues raised in the Enfranchised Mind post, and what they're doing about them. There are some other interesting tidbits about how STM and concurrency primitives can interact confusingly, and the way they're hooking things like SQL Server into the STM machinery so that other things besides pure shared memory access can get the benefits of atomic transactions.
There's a good interview with two guys from the tech team on Channel 9: http://channel9.msdn.com/shows/Going+Deep/Software-Transacti...
Worth watching if you're interested in the topic. They discuss some of the issues raised in the Enfranchised Mind post, and what they're doing about them. There are some other interesting tidbits about how STM and concurrency primitives can interact confusingly, and the way they're hooking things like SQL Server into the STM machinery so that other things besides pure shared memory access can get the benefits of atomic transactions.