Herb Sutter, a software architect from Microsoft, gave a speech yesterday at In-Stat/MDR's Fall Processor Forum. Addressing a crowd mostly consisting of hardware engineers, he talked about how the software world was ill-prepared to make use of the new multicore CPUs coming from Intel and AMD.

I'm talking about basing the language on an explicitly concurrent model of computing.

Fair enough. I disagree on this point.

And excuse me if I don't trust the same people who came up with auto_ptr (and encouraged shared_ptr) to come up with a proper parallel C++.

Both of those have their place. If you're just knee-jerk objecting to them, then I'm afraid your credibility drops to near zero.

But you'll never be able to have a good GC in C++! As long as you can convert an integer into a pointer, you'll need a conservative GC, and that makes a lot of the really high-performance GC algorithms unusable.

Hell, C++ can't even support a compacting GC!

Now you're just exposing your ignorance. Read up on what has been done in Managed C++. Part of it includes the ability to include or exclude objects from the GC heap. Different rules apply to the GC heap objects. The CLI GC is compacting, and the (just released) VS2005 includes Managed C++ with GC.