the main problem is the lack of a memory model for
multi-threaded
applications at the level of the language (c or c++). fortunately this
is about to change with c++0x and probably c1x.
So in 10 years we will be able to rely on a conformant compiler being
available on all relevant platforms :)