Path: utzoo!mnetor!uunet!husc6!mit-eddie!uw-beaver!tikal!hplsla!hpubvwa!codas!karthur From: karthur@codas Newsgroups: comp.lang.c Subject: Re: C critisisms Message-ID: <1473@codas> Date: 4 Jan 88 13:12:00 GMT References: <11075@brl-adm> Lines: 59 In article <7597@sunybcs.UUCP> ugfailau@sunybcs.uucp (Fai Lau) writes: > > In article <11075@brl-adm.ARPA> V4039%TEMPLEVM.BITNET@CUNYVM.CUNY.EDU (Stan Horwitz) writes: >> >> Regarding the critisms of C recently posted, as a new C programmer, just >>as a hobby ... (more stuff) > > C was designed for programmers who hate to type (and so > is the whole UN*X system)... C and unix were written during the days when teletype machines and other line terminals (all at 300 baud or less) were the most advanced interaction tools of the day. The use of short operators and commands were required if the programmer didn't want to spend half his time deleting errant characters. If you have ever spent a lot of time with a line editor, you'll understand why. > C nevertheless allows the programmers to bypass all the BS in other > computer languages and just get down to business. It's quick and dirty, > but it works. OPINION: Yes, the other BS is bypassed, but by no means does C have to be quick and dirty. >> I have one question though. The whole concept of C is in my opinion >>innovative in that the authors have developed a very powerful higher level >>assembly language. It gives all the power of assembly language plus much >>more without sacrificing too much in the way of efficiency of object code. >>The question is, given the imagination of C's authors why couldn't they >>think of a better name to call the language? Where the heck did the >>name come from? Was the name C the result of a night of heavy drinking >>or what? Not that it really matters, but I am just curious? > > C stands for Compact, I think, referring to the nature of > the language. Considering the UN*X philophy in naming system > utilities, it is not surpprising that the name has been > consisting of one alphabet. 99% of the Unix utilities are written > in C, and it is correct that C was meant to substitute assembly > language for system programmings. C is a derivative of ALGOL/60, via CPL, BCPL, B, and C. ALGOL/60 was designed by international committee, but was commonly perceived as too abstract. CPL (Combined Programming Language) was an attempt to make ALGOL less general. CPL did little to enhance ALGOL, but did make it very hard to implement or learn, so.... BCPL (Basic Combined Programming Language) was written, and BCPL eliminates all extraneous constructs to the CPL language. B was Ken Thompson's implementation of BCPL for the DEC machines in use at ATT in the late sixties. B appears to have been a "working name" that never got changed when the language was finished. BCPL & B share a common problem, though: they are so sparse they are almost unusable. C was Dennis Ritchie's enhancement of B for DEC machines running under UNIX, named (I guess) in continuation of B. This does bring up a question though: Why is it C++ instead of D or P? (grin). Hope this helps! Kurt Arthur Software Services of Florida, Inc.