Warning: Constant ABSPATH already defined in /home/public/wp-config.php on line 27
RIP Dennis Ritchie — Why Now?
On-line Opinion Magazine…OK, it's a blog
Random header image... Refresh for more!

RIP Dennis Ritchie

The BBC notes that one of the world class bit-fiddlers, Dennis Ritchie has died at age 70.

Back in the days when US corporations actually spent money on research and development, Dennis was part of the group at Bell Labs that wrote UNIX, and then created C to make porting UNIX to other machine architecture easier.

Ken Thompson, Dennis, and some others had a machine [I think it was a DEC PDP-7] that was available, but didn’t have an operating system, so they wrote one.

Since AT&T wasn’t in the software business, they essentially gave UNIX to universities for the cost of a letter requesting it in the early days. That’s a primary reason why UNIX and it’s derivatives are such an integral part of the Internet and so widespread in the university system.

As the name implies, UNIX was initially a single-user operating system, but, well, ‘anyone’ can write a single user system, so …

7 comments

1 Badtux { 10.13.11 at 11:29 pm }

Steve Jobs was an editor and critic. Ritchie was the real deal — an actual inventor and innovator who changed the world, as virtually every Internet site is run on a web server written in later versions of Ritchie’s invention, “C”. But because he wasn’t a rockstar (outside of our circles of course!), somehow I doubt the San Jose Murkey News will devote their front page to him tomorrow like they did Steve Jobs when Steve Jobs died.

Image is everything. We Americans are such a shallow people :(.

– Badtux the Geek Penguin

2 Bryan { 10.13.11 at 11:47 pm }

If you have never used machine code, you have no idea how tough it is to sit down with the processor’s instruction set and do anything useful. Sitting in front of the machine and toggling instructions into it, is not for the impatient. I have always felt that people have little appreciation for what a boot ROM does. A PDP-11 was the first machine I used that had one, and I was in love.

That group at Bell Labs was responsible for so much of what we have today, that it is amazing that people don’t know who they were.

Hell, what we have was created at Bell Labs and PARC, but people don’t know it. It is amazing how badly AT&T and Xerox missed out on what their research produced.

3 Badtux { 10.14.11 at 7:33 pm }

Having written a boot ROM or two in my time as well as patched boot ROM’s by hand-assembling code and then typing it as hex codes into the EPROM programmer, I can assure you that I’m quite happy to not have to toggle in a modern one :). Although anything I toggled in *couldn’t* be as nasty as the PC BIOS, which is the ugliest, nastiest, most disgusting chunk of spaghetti assembly code that you’ll ever find outside of a freshman college computer architecture class.

Yes, it was a PDP-7 that they did the first Unix on. Looking at the architectural documentation, it looks similar to the PDP-8 in that it had an address space smaller than its word size and each instruction was opcode+instruction crammed into one word — 18 bit word, 13 bit address space, 5 bit instruction (wow! 32 possible instructions!). Well, actually, one bit of the instruction space was reserved to say that the rest of the word was an instruction rather than an address, so there was 15 possible instructions that accessed memory and a very large possible number of instructions that operated on registers or accessed I/O space. Oooh, I just Googled up a pdf of the actual DEC marketing pamphlet for the PDP-7 which had the actual bit-encoding of the instruction set in it as well as a complete list of opcodes! Somehow I doubt a trade show marketing pamphlet for any Intel processor would ever include such a thing, at least not if they intended their customers to keep down their lunch :twisted:. And the fact that at this moment I’m thinking of what the microcode and internal architecture looked like that handled the PDP-7 instruction set means I’m completely condemned to geekdom :).

Anyhow, I never programmed a PDP-7 or PDP-8, but I’ve programmed a PIC, so I have a pretty good idea what programmers back then faced when writing assembly-language programs for such limited machines. But the difference is that today, we have Mr. Simulator to let us single-step through our programs and provide simulated bits on simulated pins to make sure that our programs handle said bits correctly. Back then, what you had was the actual hardware. That was some real he-man programming :).

4 Bryan { 10.14.11 at 9:35 pm }

The Data General Nova 3 wasn’t that bad as after you set the base address, one toggle would automatically increment. The toggles were grouped in threes so you could enter as octal groups instead of just a mass of binary.

The boot only required the I/O for the paper tape reader, which would load the diskette driver, which would load the hard disk driver so you could actually start doing something.

On the PDP-11 you mounted the system start-tape on the 9-track and pressed the load toggle that activated the ROM and Unix would be up, not instantly, but a hell of a lot faster than RDOS appeared on the DG.

The IBM 360 had rotary switches for inputting the hex codes, but it was less than trivial to come up from a cold start.

Yeah, simulators would have made a huge difference, because if the DG didn’t start, all you could do is shut everything off and start again.

It did however encourage back-ups and multiple copies, on and off site, of important media.

It was worked designed for people with OCD and no social life in their future. The damn machine rooms weren’t air conditioned, they were refrigerated, kept at around 50° and you could wear wool because of static concerns. Paper couldn’t be stored in the room because of the low humidity, which made it jam the line printer.

I can’t believe we thought this was a job we wanted.

5 Kryten42 { 10.15.11 at 8:48 am }

Awwww! 🙁 Now that is sad news!

I actually met him a couple times at PARC (when I was working in the USA ‘way back when’) He was always happy to chat. I liked him. I still have copies of his books, they are keepers for me. More so now. *sigh*

I cut my teeth om machine code & asm. I still remember most of the op codes for the Z80 (I wrote a lot of code for that sucker). Since I worked a lot designing industrial machine control systems, I used mc & asm a lot. I’ve used most real-time OS’s (I liked RTOS in the 80’s).

I’ve worked on just about every CPU made since the Sperry Univac. There are few surprises for me really.

I’d decided not to comment on Jobs’ passing. I put him in pretty much the same category as Gates, though Steve was better at packaging & marketing stuff. Both of them stole many of their *innovations* from Bell & PARC. I’ll never understand the mentality of both organisations to allow it. Both Bell & Xerox could have sued the ass off both Jobs & Gates out of petty cash in the 80’s. But, like many other huge companies at the time, they severely underestimated the potential of the *PC* market and thought it would be a passing fad at best. Morons.

6 Steve Bates { 10.15.11 at 12:49 pm }

I still have my copy of K&R, though it’s been years since I had occasion to write C. I was always amazed at that book… a complete, versatile, powerful language described in a pamphlet not much more than 1/4 inch thick. Try that with any 21st-century language! (Your comment facility won’t let me use “¼” for some reason.)

I wrote a lot of assembly code for the PDP-8, mostly process control programs for an assortment of lab instruments (gas chromatographs, mass spectrometers and various “oddities”), and just a couple of projects on a PDP-11 (one was a device driver for an early graphics terminal which contained a very PDP-8-like processor of its own). By the time C made it into my world, I was very grateful to be able to write useful code in something besides assembler. R.I.P., Mr. Ritchie.

7 Bryan { 10.15.11 at 5:54 pm }

I must have one too, somewhere in a box, because I recognize the size factor. They were all around the machine room at one point, probably complementary copies from the publisher for the faculty.

As I remember the biggest complaint was the fact that it didn’t care if you included LF/CR in the code and could have programs that worked that were hell to read.

When I taught it, I wrote a routine to automatically insert them so I could grade and comment the code, and then pulled them out before returning the code with comments to the student. If they complained I told them to write their own program to insert them, like a real coder.

One of the magazines used to run a contest for obfuscated C code. To win you had to explain what it did.

It is hard for people who have never had to get down in the trenches with the bits to understand what a great thing C was. Every machine had its own quirky assembler with unique syntax that would drive you up the wall if you had to deal with more than one at a time.

I didn’t do a lot of programming for the instruments, but I made a good deal of money just building custom RS-232 cables for Scripps Institute. RS-232 is one of the non-standard standards that made life good in the old days.

No one ever remembers the really creative people who actually invented the technology we use, just the people who the media talks to.