(Original Review, 2003-02-13)
My two cents on Unix, C, Gates, Ritchie,
Jobs, Apple OS, Windows, C++, Objective-C, Java, BSD, ...
The toe curling pieces on Jobs were way over
the top, rather like Gates, Jobs lifted a lot from other people. Ritchie and
co, rather like Tim Berners-Lee, gave the computing world so much, and I do
mean gave (let’s not be offensive, not equate the ham Gates with Jobs.)
One problem is that "Software
Engineering", whilst requiring some skill amongst participants, and constitutes
a trade, isn't as robust a discipline as the Professional Engineering
Disciplines. Having said that, I agree that Ritchie when with Bell (remaining
with Bell until he retired) made a far greater impact on the computing
community than other upstarts (including Tim Lee) - when Jobs left Apple, and
developed the NeXT Workstation, its operating system was based on Unix - and
when Apple acquired NeXT, its operating system led to Apple OS X based on Unix
BSD. Even PC users can now enjoy the benefits of Open Source Computing, and
install Linux on their PCs, Laptops and Portable Devices - whereas, even with
modern Wintel systems, purists may ignore the sacrilegious Windows environment,
and revert to DOS.
Of course, whereas within Bell Telecomms Research Laboratory, Ritchie contributed to the development of both C and Unix,
this represents a far more significant contribution than even Tim Lee who,
whilst with CERN, simply developed trivial utilities for use by other
researchers before being more widely adopted.
I would have thought C a far more important
contribution than Unix (sans Linux) looking back. I love the recursive way
they, having written Unix in assembler, and then developed C, they re-wrote Unix
in C! Elegance personified!
It's unfair to Jobs and Ritchie to compare them
with each other. Ritchie was a brilliant backroom boy, and I agree with the
praise listed above. Jobs was a product developer, a business man and an
evangelist.
It's comparing chalk and cheese. What Jobs did
was understand the importance and utility of work by Ritchie or the researchers
at Xerox Parc. Without people like Jobs these great inventions remain
intellectual curiosities. Without Ritchie there is nothing to develop. You need
both and that is why Silicon Valley was successful.
I agree 100%; as I implied before - even Steve
Wozniak takes pride in making his friend Steve Jobs' role clear when they
worked together at Apple, so I doubt Jobs' friends, family and colleagues will
bother about these rather obvious comments that he was no hardcore computer
scientist. They were quite a double act.
Be nice to remember Ritchie without referencing
Jobs. They both did good stuff but as a programmer even 'tho I'm typing this on
a Mac (of course running OS X which is part of the UNIX family tree the OS and
that Dennis "created") like 99% if people I don't have a constant
Homer Simpson like Ritchie vs Jobs battle going in my head
This is all getting very Lady Di vs Mother
Theresa - the silly Indian lady had the nerve to die in the same week as the pretty
one who was far more simple to write about - how rude! (JOKE by the way!)
Pouring a mountain-dew hi-energy on the curb.
RIP
Dennis Ritchie gave us the tools to build the
web, modern computer etc. Steve Jobs was the person who combined the concept of
the PC with that of a household appliance, and was adamant right from the start
that the PC was to be a consumer device that anyone could use.
The Xerox team were still developing for
researchers - they didn't view their system as one for the average consumer.
Their mouse had 3 buttons, and a lot of interaction was with the keyboard
including resizing windows. If you've ever double clicked then that's the
influence of Jobs.
Even fewer people have heard of Alan Kay who
was instrumental in PARC in the development of the windowing and objective
orientated programming. The point is they were all instrumental to the
modern computer. Dennis Ritchie is feted by programmers who work directly with
the tools he created and I'm pretty sure he'd be happy about that. Actually, OS X and iOS use the 4.4 BSD-lite
codebase, which by definition contains none of Ritchie & Thompson's
AT&T code. However, that doesn't take anything away from the status of the
man: he was a true genius and innovator. Also, his C programming language and
its descendants (C++, Objective-C, Java, etc.) are even more pervasive than
Unix: Windows does not derive from Unix (from VMS, if anything), but it is
mostly written in C/C++.
I think a few things are worth pointing out:
- C has good points and bad points -- some clever ideas, and some mistakes. The lack of proper string-handling tools, and the laxer-then-necessary type system were two mistakes that had an expensive legacy in terms of buggy software, student learning curve, failed projects, etc.;
- The K&R book is worth mention as a model of great textbook-writing -- clear, readable and brief, without being oversimplified;
- Ritchie, Thompson, et al., didn't give their work away. They were paid very decent salaries. Also, BSD Unix started out as a flagrant breach of license terms and copyright, and had to be rewritten to avoid lawsuits;
- Stallman's free software idea has probably caused a degree of stagnation in software development. A free product that works drives most of the competition out of the market, but does not hurt the biggest players, so it creates an oligopoly;
- If Jobs hadn't persuaded Apple to buy his company and bring him back into the fold, Apple would probably have bought BeOS which, if anything, was a better platform than BSD Unix/Objective C.
Thank u Dennis Richie for providing me with many years of employment. Using C, C++, and Java, all based on C-syntax. If I had to
program in assembler, I'm sure I would have quit long ago. It would be nice if
heads of state would come out and praise your accomplishments, but I won't hold
my breath.
I am not interested in getting into a language
war now, or a platform war. C has its good points and its well-documented bad
points. C99, C++, Java and C# all attempt to correct many of the widely
acknowledged flaws of the original C, often by borrowing ideas from other
languages that were designed in the 1960s (including Algol, Simula and
Smalltalk). I'm sure even you do not think that C is perfect.
Bottom-line: What? No code and still 5 stars??
Read it I you want to understand the evolution of the Unix OS and all of its
look-alikes, and all of its flavours.
NB: Many eons ago I coded this in the boot
script of all Unix user sessions (I was younger then...):
Unix erotica?
%^How did the sex change^ operation go?
Modifier failed.
%make love
Make: Don't know how to make love. Stop.
%sleep with me
bad character
%man: why did you get a divorce?
man:: Too many arguments.
%blow
%blow: No such job.