Benevolent Dictatorship

Harvey J. Stein
20 Mar 1998 19:55:52 +0300 (Kragen) writes:

> On Fri, 20 Mar 1998, Chris Bitmead wrote:
> > Personally I would like to see something that does the main
> > things that we want even if it is appallingly slow, and awfully
> > ugly and riddled with  hacks.  Once people understand what we're
> > aiming for they will be motivated to make it elegant/fast. 
> Well, yes.  Linux 1.x was never intended to be portable.  Significant
> parts of it were written in assembly.  Lots of assumptions about the
> x86 architecture were embedded in it.

This is sort of true.  Significant parts were in assembler, but they
were small parts of the whole.  Lots of assumptions about x86 were
embedded, but much of it was isolated from the rest of the code.

Linus himself originally said that it wasn't portable.  But, then some
DEC guys started doing the alpha port, and had it runing on DEC alphas
in a surprisingly short amount of time.  It turned out that the
machine dependencies weren't so hard to isolate and fix.  Of course,
since the system as a whole is mostly 3rd party (GNU & X), and these
had been running on all sorts of systems for ages, once the kernel was
ported it wasn't much additional work to get a fully running system.
Most notably, there was already a native compiler.  OTOH, lots of
people did do lots of work initially getting all the apps configured
for linux/intel, as well as configuring for all the new hardware
ports, not to mention the whole XFree86 project, without which PC
video cards wouldn't be supported.

When you start thinking about all the piles of code needed/desired for
PC hardware (ethernet cards, scsi cards, video cards, IDE, parallel
port, serial port, CD players, sound cards, TV cards, scanners, all in
both PCI & AT bus versions), it would sem a gargantuan task to build
everything from scratch in Lisp.  Hence, my tendency to agree with
Chris Bitmead about building it on top of Linux.  In fact, I'd go
further - so as to avoid writing drivers (kernel internal & video),
build it on Linux, and use X for graphics.  I don't see why this will
handicap the design - just treat Linux & X as 2 drivers.  If you want
to plug in more drivers & make the thing self hosting, then go ahead.

But, that's just my opinion.  He who writes the code has the say.

Harvey J. Stein
Berger Financial Research