6 ms·
> Right? We've come a long way in the technology and the OS underpinnings, but in terms of having these kinds of simple abstractions that are easy to reason abo
by sergiomattei 8y ago
> Right? We've come a long way in the technology and the OS underpinnings, but in terms of having these kinds of simple abstractions that are easy to reason about and manipulate we have regressed significantly.
> Compare the System 7 OS installation procedure to any modern OS. In System 7, you format the disk, then you copy the System folder to it. That's it. Compare application installation. In System 7, you copy the application folder to the disk. That's it.
> What the hell is wrong with all the people developing OSs these days? Do they just fetishize complexity? Do they just have too much contempt and condescension for users? It makes me loathe computing as an industry.
No, our requirements have changed and so have we.
- AnIdiotOnTheNet 8y agoBullshit. There is no reason at all that these things cannot be done today, we simply choose not to make it so simple. Portable applications are reasonably common on Windows, MacOS still uses Application Bundles, even Linux has AppImage, and those work pretty much just like applications did on System 7, yet so many developers insist on using broken installers, or needlessly complicated package management systems. There is no reason that bootloaders can't just look for a directory to boot the system from, even present the user a graphical menu to choose between the ones it found. FFS, UEFI can run a browser or NES emulator.
- scroot 8y agoIt's probably part "complexity fetish" (ie you are not a real programmer or computer whiz unless you live and die in a teletype emulator). The other problem is that a couple of generations of developers are now out in the world who have never experienced these systems.
- cm2187 8y agoPart of that is probably laziness, it’s hard work to keep things simple, it requires to enforce a lot of discipline, to redesign things frequently, etc. I think also increasingly there is the view that users shouldn’t even be aware of these things. If you grew up on iOS, you have never even seen a filesystem, let alone an OS directory structure.
- scroot 8y agoYes I agree. It's hard work. You'd think a trillion dollar personal computing company like Apple would put in that work. As for hiding things from users, what we need are good metaphors (ideally layered atop one another). You want users to be able to peel back one layer if they can't do everything they need. Things like spreadsheets and hypercard started getting there, but personal computing went the entirely opposite direction.
- cm2187 8y agoAnd in many ways, docker style containers are an ugly way around not having a clean and modernized format for applications, which in the spirit of MacOS' extensions should really be a single self contained file, with a declaration of its dependencies and privileges required. Instead of that we have to package a whole OS image when building a container to go around the millions of ugly inter-dependencies between the components of the OS and the app.
- scroot 8y agoRecently I've come to believe that you don't need "applications" at all, but rather components that can be put together every which way. OpenDoc was sort of like that and something like a smalltalk system is also sort of like that. Either way, these *nix style operating systems are not great for personal computer users. They can either interact with their machines as pure consumers (app level) or learn a full blown programming language and the ins and outs of the OS. There's nothing in between. It's like having zoology and quantum physics, but without biology, chemistry, etc in the middle.
- cm2187 8y agoYeah. But there is a case for keeping it simple even for professional / server stuff. I mean the success of python is the best illustration. It's a dog by any metric but it allows to keep things simple, which has a lot of value in itself. Developer and IT people have enough complexity dealing with their domain not having to add the complexity of their tools to that.
- naasking 8y agoShared libraries are the real difficulty. If your SSL library patches a security vulnerability, you generally want any program that uses that SSL library to be immune.
- AnIdiotOnTheNet 8y agoNot a problem, something as fundamental as SSL should be part of the OS's provided library set that you can depend on being there so you don't have to include it in your self contained application. There's no reason to have all this complicated crap so that you don't have 2 copies of 200k libsomebullshit.so.
- scroot 8y agoIf you ever write a manifesto I think you should grab the libsomebullshit.so domain name
- AnIdiotOnTheNet 8y agoIf .so TLD wasn't so expensive I'd be tempted to do that.
- naasking 8y agoYou could argue the same about many other libraries, like all of the basic data structures and algorithm libraries, string libraries, time and date handling, nowadays machine learning, etc.
- kabdib 8y agoThe installation environment for Windows has always been overly complicated, error-prone and fragile, and a danger to system stability. There have been numerous cases of app uninstallers getting DLL reference counting wrong and destroying a Windows instance because they removed a critical component or deleted an "unused" registry entry. One workstation I'm running now has some software that cannot be uninstalled; the installers just say "sorry, something bad happened" and that's it -- it's a practical impossibility to manually remove the packages, and in one case it involves clobbering tens of thousands of registry entries. I wrote apps and drivers for MacOS 6/7 and early Windows; there was really no comparison in sophistication between the two systems. MacOS's approach was simple, elegant and worked well, while Windows' was baroque, poorly documented, and generally a very bad experience in terms of debugging and having confidence it would work in the field (I'm not talking about writing the apps or drivers themselves, just installing them). There's absolutely no good reason for the current state of affairs on Windows other than an initial bad design that Microsoft chose to carry forward as architecture. (Read the INF file format documentation, it's a horrorshow).