Out on a Limbo
I was reading something about a new OS called Inferno. (See Inferno.)
At first sight it’s an OS designed for ease of building cross platform distributed systems. There’s nothing new in that of course, but it looks like a decent attempt at doing everything in one place. The website’s got “screenshots” on there though which seems a bit odd to me in that it equates “OS” with “user interface” which rather loses sight of the core issue.
Perhaps most interesting is “Limbo”, which is the associated programming language. At first sight this is yet another imperative C-style language which I thought the world already had enough of. However, there’s one interesting issue in the use of channels for interprocess communication. Again, this is nothing new and it reminded me of some aspects of Occam. (And, indeed, the whole “ACP” style of programming.) It’s probably worth a longer muse when I have a moment.
However, it always seems to be the case that whenever we see anything new it’s always just a different spin on existing ideas. There seem to be no big leaps forwards, or even small leaps forward, these days. Once upon a time the whole notion of an operating system popped up and it was indeed a giant move. It seems likely that as a discipline matures such big steps will become rarer and rarer. However, do we really need another OS and language which are just existing ideas rehashed into a new form? Are we going to be stuck forever writing programs using something with something like the expressive power of C?
Perhaps that’s OK, and a brave new world of lots of little refinements is where we’re headed.
Doesn’t seem very exciting though, does it? I can remember being knocked sideways by Smalltalk, nothing since has come close to that from the point of view of excitement. Actually, very little since is actually as good as Smalltalk but that’s another topic.