Chris Gray 1
Surely that needs to be --dmr; to avoid temporal paradoxes?
It was 1968 and students and workers were on the march, protesting against the Vietnam War, with the western world seemingly teetering on the brink of revolution. In the sleepy, leafy suburb of New Jersey's Murray Hill, a young maths and physics graduate was laying the groundwork for an entirely different revolution. For …
As a genuine old-timer, I remember when C was first released, and the first thing I did was run out and by the K&R C books, and later the K&T "Programming in Unix" book. I used K&R C for programming various projects and learned a lot from it. Far more elegant than Assembler, although some wags Referred to C as "Portable PDP-11 Assembly Language." No matter, it was powerful, elegant and highly portable. C on an 8080 anyone? I used it.
The "cryptic" commands in Unix were strongly influenced by the fact the Teletype Model 33 was far and away the most common terminal connected to Unix systems. For those relative newbie, the 33 was an effective but a genuine PITA to type on. Also very slow,limited by its mechanical operational mechanism to 300 baud, max. Anything that could be done to lessen the amount of typing was a Really Good Thing hence the highly shortened commands made using Unix a whole lot more pleasant.
dmr truly impacted the world of computing and impacted that world far more than the greedy, megalomaniac control freak that started that company named after a fruit.
Requiescat In Pacem dmr and condolences to the family and the millions of users of your inventions. May your legacy and humility be remembered forever.
Really it did exactly what it was designed to be.
A Machine Independent Macro Assembler.
Hence the HUGE dependence on Makefiles and #define
C was a great Achievement in the climate of early 1970s
What did he do for the next 40 years though?
<<If one was to compare the recent losses in technology to certain fictional figures then I would not consider it to be unfair to say that.
Dennis Ritchie == Jesus>>
Actually you can argue if Jesus was a Deluded Man, or God, or his followers made up stuff. But no shortage of historical evidence that he was a real person.
> What did he do for the next 40 years though?
mage, you are showing your ignorance. after inventing unix and c, dennis ritchie co-wrote one of the major computing textbooks. he developed unix v8 which sadly wasn't allowed to leave bell labs because it was a threat to at&t's commercial but shit unix offering. he invented streams. which at&t turned into a train wreck for system v. he spent years getting the c language standardised. i think he was involved in the posix standards work too. he then went on to develop plan9 and inferno. if that wasn't enough, dennis ritchie lead the computer science research team at bell labs, one of the world's most prestigious research institutions.
btw, that michaelangelo bloke did fuck all after painting the sistine chapel. what more did he need to contribute?
Murray Hill is in New Jersey.
My high school was a few towns away and I had a teacher who worked in Bell labs during the summer.
She got us a tour (1971 - 72) of the labs and I had a chance to talk with a gentleman who showed us his little system he was working on (if IRC he said it supported 4 users). I still remember the PDP computer and Teletype 33 at the end of the table. Wish I had taken a few sheets out output!
The issue with Plan 9 is, it is way ahead of even today's common/general technology. You don't have anything (yet) to use the amazing features and the design of it. It is more like trying to use UNIX on Altair home computer.
Once the technology allows the vision of these guys, we will hear something like "Apple considering to move from Mach/UNIX to Plan 9 at OS level" and nobody will be that surprised, some will even say "about time".
I speak about stuff like seamless roaming between devices (including car computer) etc. and seamless distributed computing.
For example, IBM happily uses Plan 9 on their Blue Gene monster.
He was a titan, but don't go overboard: "General-purpose programming languages had not existed before C" is rubbish: Algol, and Fortran preceded it by more than a decade, and Multics (which dmr worked on) was written in PL/1 as were its applications.
C was / is a good implementation of the idea, based on learning from those experiences, as dmr himself would say.
In other words: there's no need to denigrate the giants upon whose shoulders he stood.
It's true enough that FORTRAN, COBOL, BASIC, and others pre-dated C, but C was different precisely because of the other exception (NO PUN:) taken to this very nice article: C is not quite a high-level language (HLL), but sort of straddles the ASM / HLL border. That's the good news -- and the bad. In the right hands it is a thing of beauty (which could be set of Unix as well). As a guy who taught the C class I once took (not at Uni; courtesy of an employer) : "It compiles itself." What he meant of course, is it's the sort of language you could easily write a compiler in. I wouldn't want to try that in any of the HLLs which preceded it, or those which came later. In fact, with a little help from the lex & yacc descendants, you almost wouldn't want to write a compiler in anything else.
Yes, Clarke's "General-purpose programming languages had not existed" is a particular howler. Assembler, after all, is a "general-purpose" language (it's not a domain-specific one) when running on general-purpose hardware. Among higher-level languages that were going strong when C was invented and are still in widespread use you have FORTRAN, COBOL, LISP, BASIC, and PL/I (in historical order); plus others that have fallen into disuse since, such as ALGOL and C's own ancestors BCPL and B. And contrary to another commentator, C's supposed "high-level assembler" nature doesn't excuse this wildly erroneous claim.
But that's far from the only false step in this piece.
It's not true that the major general-purpose languages were meant to "lock virgin customers [or any other kind] in"; in fact, C exposed more implementation details to the application, and so C programs often required more porting effort. C did not "go visual" in any meaningful sense with Microsoft's Visual Studio, anymore than it "went turbo" with Borland's Turbo C. Others have already noted how ridiculous the "at least six flavors of Unix" bit is.
I don't even want to start on "It is a high-level procedural language that used a compiler to access a machine's low-level memory and to execute, so it can span different platforms". There's enough wrong there for half a dozen posts. Nor does C contain some magic inherent power to make programs fast, as Clarke claims; and I have no idea what he means by "programming with C is also accessible".
I've written software in C (and for Unix) since the mid-80s, and I like them. Certainly dmr made some terrific contributions to the industry - even if you agree with the criticism a number of people have levied against the use of in-band signaling in C (nul-terminated strings, printf formats, etc). I've been in Usenet conversations with him, and he always came across as knowledgeable, intelligent, reasonable, and friendly. It's a shame he's gone, and I wish the Reg could have done a better job with his obituary.
Raise your hands if you are aware that the length value "n" given to "strncat" says how many characters to take from the source string, and says nothing about the size of the destination buffer. So, it does not directly protect against buffer overflows. At least that's the way it is described on Gnu/Linux, and that surprised me.
I don't get the Visual C reference. When I switched from RiscOS to Windows 3.1 back in the day, I had to leave Acorn's nicely designed visual tools behind and use the pathetic MS C Version 7. It was at least a couple of years before VC1.0 arrived, with tools that were less advanced than Acorn's.
And don't talk to me about IDEs on Unices, I tried writing for Motif on DEC's Ultrix at the same time and I believe that's when I started to lose my hair.
(Still writing portable C code that runs on any version of Windows as well as a bare metal embedded system (~400 SLOC today :)).
I think you're seeing the past through rose-tinted glasses here. The only visual tool of note from Acorn was !FormEd, which came after VC++1.0, and when I left the scene in 1996, six years later than you must have done, there was still nothing approaching a decent IDE for C development.
The C compiler sucked balls too.
Learned C and UNIX when I was at Data General. I was impressed by the apparent simplicity of the design (which is quite often a sign of carefully crafting) and its obvious power. I was lucky enough to have a co-worker who had been at MIT and returned waxing eloquently about how UNIX was the future.
All I needed to learn C was the K&R book. Later, I took a course in which I received the BSTJ reprint. Then I got a Sun workstation , discovered USENET and shortly thereafter, Linux. It was all "downhill" from there.
RIP, dmr.
//there seem to be an awful lot of coats here with a copy of K&R in the pocket...
I studied at the University of Newcastle upon Tyne with Dennis' sister, Lynne. The family connection meant that we got Dennis to come and give us a talk on mechanisms of inter-process communication in Plan 9. So the department booked a medium isized room, and it was too small, there were too few chairs, and people were leaning in from the corridors in order to hear Dennis put forward his ideas, which he did brilliantly -- full of humour, and clear enough for anyone to understand, the mark of a man who had totally mastered his subject.
I treasure a brief e-mail exchange I had with him, when I asked if the word "grep" owed anything to the Manx Gaelic word for a fish-hook, which it seemed to me would be appropriate. Sadly, it turns out not. But the great man was not too grand to answer a random question from an unknown postgrad.
..this pretty much includes the vast bulk of the present generation of living human beings, (certainly in the developed world)...
The spread of computers into business and their development into effectively personal household appliances may have happend without the release of C andUnix, but I believe that it would almost certainly have been a much slower and much more painful progression. The explosion of development that we saw in the late eighties and ealy nineties might still be waiting in the wings to happen....
Rest well Dennis Ritchie... we all owe you a great deal
I'm somewhat surprised that the obit made no mention of Brian W. Kernighan, Ritchie's co-author of "The C Programming Language" in 1978, which was the bible for C programmers in those days.
Now correct me if I'm wrong - I'm sure you will - but as far as I recall Solaris was Sun's version of BSD. SVR4 was an attempt to bring to gether the two main threads of Unix: BSD and Systen V. I don't think it really took off because Sun and HP carried on as before with Solaris and HP-UX.
Now just in case you think cloud computing is something new, back around 1990 I was using Sun workstations. The software was installed on each workstation but all the data were held on fileservers so you could log onto any workstation on the intranet and access your own environment. And of course we had email, ftp and usenet. Mosaic arrived later.
The news was -- and is -- still about Steve Jobs but I would venture to suggest that without the work of Richie and his ilk people like Mr. Jobs would be peddling used mainframes or cars or something.
I'm going to be an anti-pedant, BTW. I don't see much point in using strncat when you're copying or concatenating a string that's a constant. User input, that's a whole different game....
I'm very sorry and saddened to hear this news. If it wasn't for Dennis Ritchie, I wouldn't be a C/C++ programmer, like so many other programmers. I think its fair to say, that almost all programmers owe him a huge debt of gratitude. He greatly helped changed the way most of us work because his work influenced so many languages that followed his work.
Its also amazing to think of how much work and research has been done and derived from his pioneering work. Its mind blowing to think just about everyone on the planet has at some point been indirectly influenced by his work because so much technology has been influenced by his work.
This is very sad news. :(
while(1)
{
printf("Thank you Dennis Ritchie and RIP... :(\n");
}
I know that every second programer and their dogs and cats use C. But it is also true that every second security-related bug can be attributed to various regressions built into C, namely buffer overruns, bad pointers, most primitive heap memory management and strings without length information attached.
Compared to Assembler, C is progress, but compared to ALGOL68 I would call it a regression. One of these quick hacks which dominate the world because a major American corporation was behind it.
Those who have spent serious time with a Pascal or Ada compiler know what I mean - many errors can be caught by a proper type system and runtime checks which only cost a few percent of runtime overhead.
Unix, on the other hand, is a great invention and if anybody can create a useful version in Ada, I will definitely use it. The Unix command shell is orders of magnitude more powerful than the GUI-clickety-click way of controlling a system. To the expert, Unix commands are by no means cryptic, but elegant, concise and powerful.
RIP Dennis Ritchie.
The one in NY is on Manhattan Island, between 42nd & 30th, runs down from 5th Ave to the East River - if you know the Empire State Bldg is then you're over the street from Murray Hill. AFAIK Bell were never in the NYC Murray Hill.
However, Bell Labs were in West St in Greenwich Village - the building is now the the Westbeth Arts centre. Don't think the software group was ever at that site - some exchange kit was there.
I did some research into Bell when it morphed into Lucent and then got hoovered up by Alcatel.
The loss of Bell Labs was a disaster for mankind - it presaged the coming of the anti-science crowd that's now infecting the planet. How could a country let something like Bell disappear in a puff of smoke - criminal. I think it was Carter who dealt the coup de grace to AT&T, Nixon was a mere toreador.
I know there were good commercial reasons to break up AT&T, but Bell Labs should have been given a status like Livermore or Argonne :cry:
Bye Dennis.