Modern PlatformIndependence is something of a working myth. Perhaps a more true/correct terminology would be PlatformPortability. Software, by it's nature, tends to be intimately tied to the details of its' platforms and environments. The platforms themselves, however, may well be machine independent. So-called platform independent languages really tend to be portable platforms themselves. Some systems do support multiple underlying platforms (eg, Direct3D vs OpenGL), which tend to provide equivalent or interchangeable behavior in different environments. It appears to be an increasing trend for languages and platforms to be unified and portable, rather than having many implementations for different platforms and writing "platform independent" software. Therefore, one might suppose that in the future, all platforms will tend toward machine independence, with varying degrees of fixed-platform hardware and software support (proportional to gross popularity or utility). Then the death of OperatingSystem specific software and the rise of PlatformPortability seems imminent. ---- See also: PlatformIndependentGui