[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Is Systems Software Research Irrelevant?



> Yes, I saw this paper some time ago. All in all, I am not favorably
> impressed.

Thanks for the detailed response.  I agree with most of your points.  I
probably should have mentioned that one has to filter for Plan 9 bias, etc.,
when reading that document, but despite all of that, it still resonated a
little with me - mainly, I think, because I've noticed a fair amount of
orientation lately of the language research community towards MS .NET.  And
of course, there's already a lot of JVM-related work going on.

That's all perfectly understandable - research needs funding, and at least
some relevance - but I think some of the problems which Pike raises are
applicable to this situation.  You're right though, that network effects are
also a huge factor here.  But I can't help wishing I was hearing about some
academic projects to "compete" with .NET/JVM but with more of an orientation
towards supporting more sophisticated language technologies, w.r.t. type
systems, functional features, etc.

Perhaps researchers would either say that these systems aren't all that
interesting - "just another virtual machine" - or that multi-language VMs
can't really be done well because of the lowest common denominator effect,
that you end up turning all languages into variations on e.g. Java or C#, or
suffer the consequences of not fitting the model.  Of course, I know that
most languages already exist for these VMs, or else are busily being ported
to them as I write.

This all relates to the question just discussed about OS-level garbage
collection - if you add such high-level services to the OS, you need to
begin standardizing things like object formats, and pretty soon you'd have
something that bears a resemblance to one of these commercial VMs.  It seems
like a fairly obvious direction in OS development, but it doesn't seem (from
my limited perspective out in some decidedly non-academic trenches) as
though much academic work is being done in these directions, except by
following Sun & Microsoft's lead.

>> There has been much talk about component architectures but
>> only one true success: Unix pipes.
>
> (Oh, you really don't want to hear me answer this!)

Oh c'mon, rant away!  Somewhere in your perspective on pipes may be the idea
which will spark a new paradigm in OS development, and Rob Pike will be
forced to post an updated "happy" version of his document! ;)

In my very limited exposure to Plan 9 (reading some docs and articles a few
years back), I was struck by the impression that it relied heavily on a
version of the pipe concept, which didn't seem to have been advanced very
far from its Unix roots.  Perhaps I missed something, but having done a fair
amount of work variously with Windows/COM, Java, and XML/XSLT, I've seen
component architectures and complex pipelined data transformation work
rather well.  I therefore summarily dismissed Plan 9, on the basis that if I
was wrong and it was any good, I'd hear about it again.

Still, I don't think any of the modern component systems have reached the
level to which Unix tools get mixed and matched, ad-hoc, by "end users"
(smart end users, but still).  I have no doubt things will reach that point,
but there's a lot of complexity still to be dealt with - a much more
ambitious problem domain.

> Personally, I think he's really lamenting that Linux is getting all
> the headlines while Plan 9 and Inferno have no traction.

That's why I called the document "wonderfully pessimistic".  He certainly
didn't hide his feelings...  But I find that black pessimism can be
stimulating and/or entertaining, in some cases.  Combine that with a sense
of humor, and you're all set!!

Anton