4 ms·
Or sad. As a user and developer, 98% of the differences between these operating systems don't really matter to me at all. They only exist because of historica
by ken 8y ago
Or sad. As a user and developer, 98% of the differences between these operating systems don't really matter to me at all. They only exist because of historical accident, desire for proprietary lock-out, or other pointless reasons like ego. For anyone who didn't believe it, they've finally gone and given a proof by construction.
We've abstracted over the CPU nicely. Without even thinking about it, my software will compile and run on any modern CPU just fine. Excellent! But it's dumb that we still have to learn about the specifics of the OS, just to write a simple application. I wish they'd just pick some kernel-level API, some common formats (filesystem, executables), some UI-level APIs, etc., and then everyone could just write to that.
(That's basically what the web is, except the API is in terms of HTML/CSS/JS, rather than CPU/RAM/disk/devices. You know you suck at standardization when you're getting lapped by the web standards committees. It's easier for me to cross-compile C to JS than to compile C on all the different platforms I use. What happened?)
It seems like every couple decades, a few companies get together to try to make a standard operating system (Multics, Taligent), and it always falls apart. We're just about due for another doomed effort!
- nur0n 8y ago> We're just about due for another doomed effort! It seems Google will take a shot at it: https://en.wikipedia.org/wiki/Google_Fuchsia https://en.wikipedia.org/wiki/Google_Fuchsia
- gerdesj 8y ago"Or sad." No mate it isn't sad. There is always going to be a scrap between things, whether they be OSs or iguanas and snakes on the Galapagos islands. I'm going in with a penguin myself and I will win.
- Proven 8y agoIn this case everybody wins, including Windows users. If one person or group wins, it doesn't mean any other has to lose. On the contrary - in a free market you can't lose because you can't be coerced. I agree this situation is completely opposite from "sad". Why would I want a single person on this planet to use the OS they don't like? So that grandparent can simplify their development, increase margins or whatever?
- jchb 8y ago> some UI-level APIs This assumes that there is agreement on what the UI experience should be. Navigation patterns, menu bars, keyboard shortcuts, touch gestures.. But there is still active competition between OS vendors on UI. Just in the last decade, the most common form of interaction with a computer has changed from mouse and keyboard to touch and speech recognition. > It's easier for me to cross-compile C to JS than to compile C on all the different platforms I use. What happened? The web is a lowest common denominator. A web app is still missing a lot of affordances that users take for granted in a native app on their given OS. That is why still in 2019, there are new native iOS and Android apps being developed. Look, there are even entirely new programming languages being invented (Swift) or integrated (Kotlin) for the purpose of writing native apps for those platforms. Specifically regarding compile C, I don't see what your problem is compiling C. You can even compile C11 on windows with Clang. Yes you may choose to include a OS-specific header and it won't compile, but also your JS doesn't necessarily run if you call some browser specific function.
- int_19h 8y ago> This assumes that there is agreement on what the UI experience should be. Navigation patterns, menu bars, keyboard shortcuts, touch gestures.. We had that for a while. https://en.wikipedia.org/wiki/IBM_Common_User_Access https://en.wikipedia.org/wiki/IBM_Common_User_Access And most DEs even implemented it to some extent. But they didn't converge as a result of that.
- ken 8y ago> The web is a lowest common denominator. Yes, it is, but why? HTML/JS has a LCD interface. x86 has a LCD interface. Even filesystems sort of have an LCD (some superset of MS-DOS FAT). Shouldn't the OS have one, too? If we standardized filesystems, executables, and syscalls, I don't see how our world would be any worse, and I can think of many in which it would be better.
- biggestdecision 8y agoIf you write standard compliant C, don't use platform specific headers, and use some kind of cross-platform build system (I can't recommend CMake enough here), it's easy to use C/C++ across platforms. UI/graphics is harder, but cross-platform solutions do exist here (Qt, GTK, WxWidgets, OpenGL).
- Teknoman117 8y agoI wouldn't argue that we should be happy about how the web turned out. It always feels like computers are stuck in the same place because every time we improve CPU performance, we end up adding more layers of abstraction so the whole thing is moot.
- dotancohen 8y agoSounds like you might be interested in POSIX.
- nine_k 8y agoOne OS. One UI. One experience. One problem if it has a bug or sn architectural deficiency. Zero choice.
- ken 8y agoNo, I definitely don't want one OS, or one UI or experience. I want one interface. We've already got architectural similarity between operating systems. The part that's different is the interfaces between them, for completely arbitrary reasons. We've done this for layers below the OS (x86) and layers above it (HTML, JS). There's just this one layer in the middle which we missed.