[Sluglug] 10 reasons I hate U(nix)

Peter Belew abcruzww at gmail.com
Fri Nov 11 22:47:15 PST 2005


The first Unix versions were run on the PDP-7, which has a quite
different architecture from the later PDP-11 - 18-bit words,
no byte addressing (in fact, Digital hadn't started to use the word
'byte' yet - an IBM coinage somewhat disparaged by the
anti-IBM users of DEC machines of the day - note that
networking folks dating back to that time tend to say 'octet'
rather than 'byte'). The first Unix was in assembly code; 'B'
was eventually written for the PDP-7 version (it was inspired
by the very spartan word-only BCPL language, in turn inspired
by the British language CPL, which was never fully implemented
by anyone). But with the PDP-11 came C, based on 'B',
which had byte addressing added on.

   http://en.wikipedia.org/wiki/PDP-7
   http://cm.bell-labs.com/cm/cs/who/dmr/hist.html

(As an aside, the version of BCPL used by Xerox PARC in the
mid-1970s did have a really kludgy syntax for byte addressing
on the Data General Nova and Xerox PARC Alto - I believe
this version was created in Switzerland, possibly at CERN??.
BTW BCPL had a feature most recently seen in Perl - in
addition to the 'if' statement, it had 'unless'. This was dropped
in C, sadly IMHO).

Process control went under a lot of changes in early Unix, as
the Ritchie article describes. The advent of multithreading
has a bearing on some of the criticisms. Also named pipes
are a useful mechanism in Unix for dealing with processes
with multiple output streams and/or needing 2-way
communication:

  http://developers.sun.com/solaris/articles/named_pipes.html

(Another aside: most early PDP's, like a number of early IBM
machines, in fact, used a 6-bit character set, and word sizes
were typically a multiple of that - 36 bits for the PDP-6 and
PDP-10 and DEC 20 and IBM 704/7090 machines, 18
bits for the PDP-1 and PDP-4 and PDP-7, 12 bits for the
PDP-5 and PDP-8, for example; the PDP6/10/DEC20 series
software switched to using 7-bit ASCII, with a bit left over on
each 36-bit word to flag words used for line number marks
in text files; that series of computers were the first PDPs to
have byte addressing, with special instructions for addressing
variable-length bytes. The PDP-11 marks the transition
to little-ending byte and bit addressing and power-of-2
word sizes in the DEC world).

(I'm running out of steam, so off to bed! Maybe it's
"out of streams")

(Another aside, further afield - speaking of the 36-bit big-endian
IBM machines like the 704 - their instruction set and registers
inspired the CAR and CDR keywords of LISP, first implemented
by John McCarthy on a 704 - 'Contents of Address Register'
and 'Contents of Decrement Register'.)

Now I'm really sleepy.

 - Peter


On 11/11/05, Thomas Leavitt <thomas at thomasleavitt.org> wrote:
> Message: 2
> Date: Mon, 7 Nov 2005 14:04:51 -0800
> From: Ignacio Solis <isolis at igso.net>
> Subject: [Sluglug] 10 reasons I hate U(nix)
> To: SlugLUG <sluglug at sluglug.ucsc.edu>
> Message-ID: <20051107220451.GB16415 at inrg.cse.ucsc.edu>
> Content-Type: text/plain; charset="us-ascii"
>
> I read this article today and was wondering what were people's
> impressions.
> Link originally from osnews.
>
> http://www.informit.com/articles/article.asp?p=424451&rl=1
>
> Nacho
>
> ***
>
> Interesting, although I've heard most of this before in one rant or
> another. ... but, it would seem that a lot of these things can be fixed
> (or have already been fixed, such as he points out with Mach and GNU
> Hurd).
>
> There's nothing stopping someone from designing and releasing a version
> of Linux that has fixes for most of these problems layered in.
>
> Thomas
>
> _______________________________________________
> Sluglug mailing list
> Sluglug at sluglug.ucsc.edu
> http://sluglug.ucsc.edu/mailman/listinfo/sluglug
>



More information about the Sluglug mailing list