Writing multithreaded software is very hard; it's about as unnatural to support multithreading in C++ as it was to write object-oriented software in assembly language. The whole industry is starting to do it now, but it's pretty clear that a new programming model is needed if we're going to scale to ever more parallel architectures.
He's not kidding about this. Actually, IMHO he's very much understating the complexity involved. Besides the pure development issues, multithreading also really hinders debugging. Also timing bugs will be very difficult to catch before beta testing as you can only provoke those that appear in your own hardware, so many slip through the cracks until other hardware is in use.
So the more programs use multithreading, the more bugs there are likely to be in initial product launches. And that translates into a lot more after-market expense in fixing those bugs. So it's not just a 'writing' issue. It's a serious maintenance and customer service issue as well, and is going to require an awful lot of companies to significantly change the way that they do business to not only do much more pre-release testing, but also to cover the inevitable after-market costs.
And in fact, consoles are going to rip a great disparity here. Having an unchanging hardware platform of a console is going to hide even more bugs than before now (thanks to the additions of multithreading issues) that would be provoked by differences in hardware. PCs on the other hand, having generally no standardized platform, are going to see each and every one of these bugs pop up. So if multithreading catches on, it's going to make porting titles from consoles to PCs a hell of a lot more involved.
And that's still just the game industry. Try writing multithreaded Word, Firefox, or even an mpeg compression utility in any way useful. :\ Even if you can manage to find something to run in a seperate thread, you'll still just end up losing more performance from timing issues than you'll gain from splitting the workload onto more hardware.
And then there's the issue of the <i>loss</i> of performance that single-cored single-CPU users are going to see if multithreading somehow catches on.
<pre>Antec Sonata 2x120mm
P4C 2.6
Asus P4P800Dlx
2x512MB CorsairXMS3200C2
Leadtek A6600GT TDH
RAID1 2xHitachi 60GB
BENQ 16X DVD+/-RW
Altec Lansing 251
NEC FE990 19"CRT</pre><p>