Platform Independence Today I took time to research this rather perplexing subject. Why is it so perplexing? Because when you come to think of it there is nothing truly platform independent...
I initially thought any program written in C\C++ is platform independent. But it is actually not so. It is just an illusion I guess. It will only work for certain microprocessor architectures. Hence what the true base for applications to be platform independent? Obviously the computer architecture; but even that is limited to one extent. Besides there are a lot of computer architectures built for some specific reason or the other. Well, to convince you of this fact, just think of architectures used for a main frame and an ordinary desktop computer. They are different! Hence if you think about it this way there are a lot of architectures around, most of them built to suite a specific purpose.
So the next question is how do you really make platform independent applications? The Sun Microsystems had come up with a revolutionary idea. You obviously have heard of their marketing strategy - 'write once, run anyhwere'. This is programming for platform independence. In other words, adding
something (a virtual environment) to a platform and making programs run loading that
something (i.e. virtual environment). This I guess is what has made java successful. Even the dot net initiative is some what similiar.
Is there any one language that is truly platform independent? I don't know. I did most of my researches down at
wikipedia which is what prompted me to write today. That page in wikipedia also discusses approaches to achieve platform independence.