OO and operating systems.
In my world the operating system is just a slim system, that facilitates the running of he programs I choose to use, the Operating system it self should have near zero resource usage (relative), which means all the resources are directed to running my applications. However as when NT arrived a decade or so ago, people noted that just moving their mouse would result in the operating system swapping to disk, to now where by 1990 standards we are using supercomputers, and still we are throwing a lot of resources away the operating systems are using 2GB, and still swapping to disk, and systems run slow (exaggeration). Of course we can argue that we have forgotten how slow computers were then, well I do have a computer from around that time, and no it's not that much slower to use, though you can't have all that eye-candy which is chewing the majority of the systems power for the majority of people.
Even Linux is moving towards running lots of programs in background - something I'm very opposed to. Fortunately you can choose to strip that system down, and remove those parts.
However why would someone launch an operating system which in it self has crazy hardware requirements, the operating system should not have a significant impact on system performance.
Of course I understand that API's developed for the operating system, requires certain libraries to be loaded, when they are needed, and therefore the memory usage would increase dramatically. However bundling lots of functions down deep in the system, makes it easy for the programmer, but also blows a lot of resources.
I am afraid that this is the culmination of the Object Orientation movement that started around 1990's, where reusable code is more important than the effectiveness and efficiency of the code, thus code bloat is designed into the systems, and lead to what we are seeing today - Operating systems that consume insane amounts of hardware resources, that really should available to programs, and not the operating system..
I myself am a software developer, and I know most hardcore OO developers will claim that I'm on a wrong track, however look at the size of a small text editor, and compare it to what was available back in the late 80's, it doesn't have significantly more feature (if any), however a standalone text editor in the lat 80's was about 26kB in size, now-a-days they consume megabytes, and rely heavily on system libraries, which them selves consume lots of memory.
Perhaps it's time we focused more on code efficiency, than just re-usuability, and reconsider the OO design philosophy.
I know that OO, and high level programming languages have reduced the time-to-markedet, and has reduced the development time - I work with it myself all the time, however at the cost of much higher resource use, so we use more memory and more CPU which converts almost directly to more electrical power, and in a time where the majority of people are claiming that Androgentic climate change is such a huge problem.
Perhaps a back to the drawing board is in order for the industry as a whole.
regards
Michael Nielsen.