After reading your post I must admit I have to agree with every word. I prefer Java but many, many programmers prefer C++, as it is possible to do some wonderful things with this that compile into fast running executables. Its a VERY powerful language and where a great deal of the magic is still going on in a big way. And yes indeed, simple C++ does indeed work on different platforms. And also yes when one starts to use APIs this ceases to be the case, yes. I have programmed using Winsocks for network programming in C++ under UNIX and Windows and they were indeed different in many places. I can only assume other APIs differ much more greatly as well.