2009/12/18 RedShift <redshift@xxxxxxxxxx>: > Hi all > > > It dawned on my that lots of industries have standards and companies > generally keep to them. For example slabs of aluminium have standard sizes, > building materials have well defined specifications, or take electrical > components: there's a huge list of standardized components. You can expect > between 220 and 240 VAC from your wall socket, fuses have standard formats > and ratings, 1 meter here is exactly the same as 1 meter in another country, > etc... Even CD's, which have been around for decades by now, have always > been created using the same format (albeit extended somewhat, over time, but > a normal CD pressed now should still play in a CD player that's 20 years > old). > > It allows for a very competitive market where choices are made based on > price, quality, availability, etc... > > Why doesn't the computer business have something similar? Sure processors > are interchangeable in a limited way, we use standardized RAM, standard > interfaces for accessing our peripherals, etc... But not when it comes to > software. Why don't we have one universal API that works on every operating > system? Yes there is libc, the language C is defined "in some way", but I'm > talking about stuff that would make applications 100% portable. Things like > enumerating all hardware devices, configuring a network interface, drawing a > window, ejecting the CD-ROM drive, getting notified about new hardware > plugged in, etc... It's different on every operating system. You cannot > write a driver for Linux and expect it to work on FreeBSD. You cannot write > an application for windows and expect it to work on Linux. When you buy a > piece of hardware you usually hope for the best that it'll work > out-of-the-box including all "extra" features. > > So why is that? Why hasn't someone stepped up and even try and create a > universal operating system API? Is it because the computer business is still > a "child" in some way, compared to other industries? > > > Just a thought. > > > Glenn > Isn't this what POSIX was, albeit quite old now, but still a standard?