Rob, I offer a small tweak to your statement, that I hope you will consider
On Sun, Nov 28, 2021 at 5:20 PM Rob Pike <robpike(a)gmail.com> wrote:
The PDP-11 as an affordable commercial computer, now
_that_ was important.
s/computer/mini-computer/
I really believe that this distinction is important. Bell coined the term
in the late 1950s/early 1960s when he called it a minicomputer. The key is
that he meant >>minimal computer - in function and price<< (not small).
(This would event eventual lead to Bell's law for the birth and death of
computer classes).
To me, the PDP-111 ISA is the epitome the *minimal computer architecture*
- just want you to need to get the job done be it commercial or scientific
and it was affordable as you said. The solution is elegant, nothing fancy,
little extra added - just the right set of features for a system to do real
work. It was also extremely regular as Larry points out, so it was not
filled with a ton of special cases. It did have a few more features like
addressing modes, and multiple registers that made it more complex than say an
accumulator-based PDP-8. But the small set of new features made sense and
were* of** use for almost all programmers*. [FWIW: IMHO, most new features
we add to Intel*64 is all for some special cases for a specific customer].
I note that the VAX (was is the epitome of the CISC and while
extraordinarily successful), has always been an easy target as way too
complicated, filled with many special cases (just for the Fortran compiler,
or for Cutler's as an assembly programmer).
IMHO: C is also made from the same minimal ideal. It took the simplicity
of the B and added typing and better data structures, but did not overdo
it. Again, what was added was useful to almost all programmers.
I note that while the follow-on to both the 11 (the Vax) and C (C++) became
working horses, but both are ugly as can be, and neither would I call
elegant. I've used them both, however, I have moved on since that time. I
do pine for something more like a 64-bit PDP-11 (more in a minute), and
still use C when I can in the kernel or Go when in userspace.
Having kicked around DEC during some of the Alpha discussions, other than
the original lack of byte addressing, I think the PDP-11 influenced the
Alpha more than VAX did. There was a definition -- why is the needed --
thinking. Keep it simple a minimal.
As for Unix (since this is a Unix history list), again I think it is the
minimal view I miss from Sixth and Seventh Edition. I look at Linux and
mostly turn green with how much has been lost from those days. But like
the PDP-11, I can not really go back. My hope is that something will
appear that is "good enough" and '"simple enough" to get people
excited
again.
my 2 cents,
Clem
ᐧ
ᐧ