>>24
You are confusing platform specific compatibility with language level compatibility. The schemes and lisps have to deal with language level compatibility, something that nearly no mainstream languages have to deal with. Platform specific code can be located, isolated, and then swapped out with different implementations. If you don't have a cross platform library to get your features on your n target platforms, one way to do it is implement your needed features on each platform using a consistent interface. Then your main project only uses this single interface, and can blindly use each of the supported platforms.
But language level compatibility is another story. The differences do not correlate with a small number of features. The language level differences are present in every piece of code you write. There is no way you can feasibly manage this and your only choice is to reimplement the entire project in each target language. Nobody that's sane would consider doing this, which is why no one sane uses lisp or scheme for anything important.
C++ might be a shit language, but it isn't the language that makes it useful in the real world. The language is tolerable, but more importantly it has the ability to leverage the libraries that are already written in C++ or C. The problem with scheme is that without a consistent language, you can't begin to have libraries.