5 ms·
Since we're discussing the notional programming practices of a race of sentient equiinoids, I might advance a counterpoint; the reason we're served so well by t
by maxander 10y ago
Since we're discussing the notional programming practices of a race of sentient equiinoids, I might advance a counterpoint; the reason we're served so well by transience is that humanity has spent its 50-odd years of serious computing history mostly getting things wrong, but that shouldn't disabuse us of the notion that things can be gotten right. There's nothing inherent about computing (or technology in general) that says that there isn't (say) an ideal OS kernel design, such that once it was written and widely adopted no one would have reason to replace it. The same logic might need to be re-implemented for new hardware, new interfaces and capabilities might need to be placed on top of it, etc, but Houyhnhnm systems seem to allow for that sort of cosmetic change (and we might expect graceful extensibility to be a quality the perfect kernel would have.) What that ideal kernel would be is beyond our scientific and engineering knowledge, but give humanity a break- we've been at this for less than a century.
The author starts out the first chapter by explicitly comparing the development of the human computing ecosystem to evolution, and the entire thrust of the series seems to be the nature of systems designed by creatures capable of seeing the Rational Way To Do Things and unencumbered by our historical human foibles. Which is a developer's wish-fulfillment fantasy, to be sure, but science fiction about ideal worlds can help to reorient our priorities on this messy planet.
- legulere 10y agoSure there are ideal designs, but only for certain requirements. Operating systems are a good example for changing requirements: Operating Systems were seen as a field where everything was solved until multi-core came along. Today we have the situation that instead of protecting the system from users and users from each other we have to protect the user (singular!) from malicious programs.
- maxander 10y agoI suspect a Houyhnhnm would reply that the very concept of the requirements changing for a set thing like an "operating system" is a category error- the idea of an operating system is defined (by a perfectly rational Houyhnhnm) as a given set of requirements. Change those, and you're now talking about a different kind of thing. We can talk about plenty of things that are (in human-speak) part of the requirements for OSes now that, X years ago, weren't. But (a Houyhnhnm might say) there's an exhaustive set of all things that an OS (qua an OS) should do, and once you have that, you have an OS that will stand the test of time (essentially) unchanged. We hadn't (and probably still haven't) enumerated and implemented all of these capabilities simply because our primitive computing technology base is still coming of age. Really, to a computer scientist in 1960, an OS was probably just something that made his mainframe go so that he could do more interesting things. It would take a optimally-rational equine being to sit down at that stage and work out exactly, in an ideal sense applicable to all feasible computing devices, what an OS should be. And its still the case, since I doubt the architects of modern OSes give much thought to quantum computing interfaces or nanite-cloud networking or whatever. But adopting the Houyhnhnm-ist manner of thinking about OSes (or more humble applications) as implementations abstract ideal entities rather than bits of machinery might make it easier when, however long down the road, someone is trying to use our work for something that we hadn't foreseen.