Dan makes a good point and I agree entirely with his sentiments.  But I do
have a qualm: the Plan 9 designers managed to simplify cross-compilation
to a single underlying (OS) platform, but failed (in a suprisingly ugly
way) to cater for different target object formats, even though there were
efforts to do so.  In my opinion - and this is all I hold against Plan
9 - by shoehorning various target object formats in the linker/loader
as options, they spoiled the consistency of the system.

I have no doubt at all that this was an afterthought or at any rate an
attempt to make the most of a situation they could not have control over,
but I think that the problem ought to have been given more attention
and a better solution sought.  Of course, I can plead ignorance and
stupidity and admit that I have no idea how I would address the same
problem, but I'd like to raise it, because I think in a forum like this
it may well stimulate the type of productive discussion that leads to
a better mouse trap.

To put the problem into perspective, think of Go: the developers have
added more shoehorning to target ELF and possibly other object models;
I'm sure that, had they had space to do it, they would have found it
more fruitful to distil that portion of the development system into a
separate or at least better structure.

Having investigated this and painted myself into a corner, I'm curious
to hear what others think of the issue.  Specially those, like Russ,
who were involved in the initial decisions regarding Go.  Looking at the
outcome, I can't help but think that the Plan 9 toolchain is infinitely
superior to its current competitors.  And I'd also like to point out
that any shortcomings it may have regarding implementation of C99 can
almost certainly be addressed within the ability of a single, no doubt
gifted, but not infinitely so, individual.

++L

Reply via email to