[comp.lang.c] RISC as the making of UNIX

eric@snark.UUCP (Eric S. Raymond) (07/10/88)

In article <6888@ico.isc.com>, rcd@ico.ISC.COM (Dick Dunn) writes:
>Most folks familiar with the RISC-CISC debate have their biases, and in a
>moment of passion they may get a little carried away in supporting their
>viewpoint. [...]   think it added some heat and absolutely no
>light...we need thought more than we need more emotion.

Thank you for an excellent article. I agree, and would like to offer a
viewpoint on the debate that at the very least implies a *different* set
of religious wars ;-).

I am a software person, an ex-mathematician of somewhat theoretical bent;
I like talking and thinking about computer architectures, and I don't get
lost when the hard-core chippies start mumbling about pipelining and
register files and the glories of unmicrocoded machines etc. etc; but the
*architectural* RISC-vs-CISC and RISC-vs-RISC debates (which used to appear
fairly simple) have long since moved to levels of theological abstruseness
at which, frankly, mine eyes tend to glaze over.

Yes, I like my machines to be fast. But benchmark wars leave me utterly cold. 
I mean, we're generally talking about differences that amount to small blips
on a market-driven trend curve so steep that I *expect* my available bang-
per-buck to effectively double every nine months or so. Fight your fights,
guys, because that's part of the dialectic; but they aren't *my* problem. I'll
win any way the chips fall, because free markets select for winning solutions.

Does this mean I'm neutral in the RISC/CISC wars? Not at all! The point of this
posting is to observe that there are technical, political and economic agendas
that can be involved in the dispute that have *nothing* to do with benchmark
wars and everything to do with the more abstract interests of software people.

I'm pro-RISC, rather strongly so (there; the cat's out of the bag now!). Here
are a few reasons that, as I emphasized before, have *nothing* to do with
the theology of how many mips one can induce to dance on a pinhead-sized piece
of silicon..

	1. I dislike assembler. I like C. Nobody tries to make you write
	   assembler code for RISC machines. All RISC machines have spiffy
	   fast-as-blazes C compilers.

	2. I dislike proprietary operating systems, vendor-controlled
	   standards, and we-want-to-lock-you-in software technology in
	   general. I like UNIX. What operating system does every RISC
	   vendor bring up practically before the etching fluid is dry
	   on this quarter's new chip? You guessed it...

	3. I dislike companies that have a we-are-the-high-priests-of-hardware
	   -so-you'll-like-what-we-give-you attitude. I like commodity markets
	   in which iron-and-silicon hawkers know that they exist to provide
	   fast toys for software types like me to play with (just as software
	   types know they depend on their ability to gratify the whims of
	   *users*).

Now, none of these is necessarily more than a casual reason to tilt in the RISC
direction -- unless you think that the RISC revolution is *causal* in promoting
C, UNIX and vendor humility. And I do.

Consider: one major impact of RISC has been to shorten product cycles. This has
forced vendors to forgo the luxury of writing lock-me-in software technology --
how long has it been now, since one could afford to delay introduction to write
a VMS or an OS/370?

RISC has also reversed the trend towards product-line architectural uniformity
in the industry (cf SPARC, the Motorola 88000, and the rumored DEC successor to
the VAX 8650). This means that the cheap-and-sleazy way out -- porting last
decade's proprietary OS to the new silicon -- is just as big a mess, and robs
the it's-optimized-for-the-machine line of arguments of plausibility.

These trends have created a vicious (for nasty vendors) circle in which UNIX
support is the only way to get to market fast enough -- and the increasing
dominance of UNIX creates a commodity market, which in turn generates more
pressure to get the newest-fastest-spiffiest hardware out the door, which takes
us right back where we got on.

RISC is causal in all this is that, by championing high-level language 
compilation in standard environments as a *dominant* development mode, it
creates an *expectation* that hardware can be treated as a commodity; pay
so many bucks, buy so many Dhrystones, thank you very much.
 
Forget the benchmark wars and the microcode-vs-random-logic debates and the
is-it-RISC-or-is-it-CISC lucubrations. *THIS* is why comp.lang.c and
comp.unix.wizards people do and should care about RISC vs. CISC. Because RISC
means high-level languages and software standards -- specifically C and UNIX
-- have gone from being dreams of the future to being the economic necessity
of the present. And that is good news for all of us.

-- 
      Eric S. Raymond                     (the mad mastermind of TMN-Netnews)
      UUCP: ..!{uunet,att,rutgers!vu-vlsi}!snark!eric   Smail: eric@snark.UUCP
      Post: 22 South Warren Avenue, Malvern, PA 19355   Phone: (215)-296-5718