[comp.lang.c] The history of C

ray@micomvax.UUCP (Ray Dunn) (01/14/88)

In article <145@snark.UUCP> eric@snark.UUCP (Eric S. Raymond) writes:

>In article <7597@sunybcs.UUCP>, ugfailau@joey.UUCP (Fai Lau) writes:
>>	C stands for Compact, I think, referring to the nature of
>
>Grrr...if you don't know the answer, don't bloody make one up!

Eric, don't you know by now,  Fai doesn't post UNLESS he doesn't know
what he's talking about!  (:-)!

>...
>called because it was a stripped-to-the-running-gears version of BCPL
>(aka British Common Programming Language), a typeless Algol-descended
      ^^^^^^^^^^^^^^
>language developed for systems programming in the mid-60s in England.
>

I'm glad you confirmed my unsure feeling about this (someone talked about
"Basic .something. Programming Language").

BCPL was developed by a guy called Hendry, I believe, Scottish, first name
unremembered.

Please net, supply the credits here (Fai, only if you KNOW, not if you just
THINK, or HEARD THAT)!

I remember him giving a seminar to us in the then Dept of Machine
Intelligence & Perception in Edinburgh, in the very late sixties or very
early seventies.

Ray Dunn.  ..philabs!micomvax!ray

ray@micomvax.UUCP (Ray Dunn) (01/14/88)

Since posting my article on BCPL agreeing with Eric Raymond's view that the
name stands for "British Common Programming Language" (or in fact as I just
type this, it occurs to me that it was "British Computer Programming
Language"!!),  I have seen several postings which lead me to believe that
perhaps the picture is being confused by two DIFFERENT languages called
BCPL, perhaps one in the UK and one in the US.  This was the thought which
stopped me posting an earlier response on the subject until I saw Eric's
article.

Somehow though I don't think so, as the BCPL I new in the 60's/70's WAS
a language designed for system programming.  Really digging into the
haze of time, was it developed in London?  Imperial College??  I still
think the designer's name was Hendry.

Any further authoritative comments from the net?  In particular, was the
predecessor of B developed in the US or the UK??

Ray Dunn.  ..philabs!micomvax!ray

ok@quintus.UUCP (Richard A. O'Keefe) (01/15/88)

(1) There is only one BCPL.
(2) BCPL stands for Basic Combined Programming Language
                    -     -        -           -
    Not British, not Binary:  Basic.
    Not Common, not Computer:  Combined.
(3) CPL was described in "The main features of CPL", Barron, Buxton,
    Hartley, Nixon, and Strachey, in Computer Journal, vol 6, p134 (1963).
    This is the Strachey of Scott-Strachey semantics.
(4) BCPL is described in "BCPL, The Language and its Compiler",
    Richards and Whitby-Strevens, Cambridge University Press, 1980.
    There is also a paper "BCPL - a tool for compiler writing and
    systems programming", Richards, SJCC v34 pp 557-66 (1969).
    There is also

	The BCPL programming manual
	Canaday and Richie	<---
	Bell Laboratories, Murray Hill (1969)

(5) The principal designer of BCPL was Martin Richards.
(6) I have no idea who Hendry may be.  No-one of that name is cited
    in the BCPL book or in the Harbison & Steel book on C.
(7) CPL was a joint Cambridge/London effort, but to the best of my
    knowledge BCPL was a Cambridge production.

The picture has been confused by a lot of people providing misinformation.
Any good computer science library should be able to furnish you with
several articles on BCPL.

mash@mips.UUCP (John Mashey) (01/15/88)

In article <881@micomvax.UUCP> ray@micomvax.UUCP (Ray Dunn) writes:
...
>BCPL was developed by a guy called Hendry, I believe, Scottish, first name
>unremembered.

>Please net, supply the credits here (Fai, only if you KNOW, not if you just
>THINK, or HEARD THAT)!

M. Richards, "BCPL: A Tools for Compiler Writing and Systems Programming",
Proc. AFIPS SJCC, 34 (1969), pp. 557-566.

This discussion has gone on a while.  Would it be too much to ask that
nobody else volunteer information on C history unless they've
read the clearly-stated, definitive information in "The C Programming
Language" article in the 1978 "UNIX Time-Sharing Issue" of the Bell System
Technical Journal, which is also published as a widely-available book?
-- 
-john mashey	DISCLAIMER: <generic disclaimer, I speak for me only, etc>
UUCP: 	{ames,decwrl,prls,pyramid}!mips!mash  OR  mash@mips.com
DDD:  	408-991-0253 or 408-720-1700, x253
USPS: 	MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086

mash@mips.UUCP (John Mashey) (01/15/88)

In article <883@micomvax.UUCP> ray@micomvax.UUCP (Ray Dunn) writes:
>Since posting my article on BCPL agreeing with Eric Raymond's view that the
>name stands for "British Common Programming Language" (or in fact as I just
>type this, it occurs to me that it was "British Computer Programming
>Language"!!),  ...

>....  Really digging into the
>haze of time, was it developed in London?  Imperial College??  I still
>think the designer's name was Hendry.

Martin Richards' article in 1969 SJCC says:

BCPL = Basic CPL, worked started while Richards was at MIT,
finished at Cambridge.

CPL = Combined Programming Language, "jointly developed at Cambridge
and London Universities".
-- 
-john mashey	DISCLAIMER: <generic disclaimer, I speak for me only, etc>
UUCP: 	{ames,decwrl,prls,pyramid}!mips!mash  OR  mash@mips.com
DDD:  	408-991-0253 or 408-720-1700, x253
USPS: 	MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086

karthur@codas.att.com (Kurt_R_Arthur) (01/15/88)

In article <883@micomvax.UUCP> ray@micomvax.UUCP (Ray Dunn) writes:
> 
> Since posting my article on BCPL agreeing with Eric Raymond's view that the
> name stands for "British Common Programming Language" (or in fact as I just
> type this, it occurs to me that it was "British Computer Programming
> Language"!!),  I have seen several postings which lead me to believe that
> perhaps the picture is being confused by two DIFFERENT languages called
> BCPL, perhaps one in the UK and one in the US.  This was the thought which
> stopped me posting an earlier response on the subject until I saw Eric's
> article.
> 
> Somehow though I don't think so, as the BCPL I new in the 60's/70's WAS
> a language designed for system programming.  Really digging into the
> haze of time, was it developed in London?  Imperial College??  I still
> think the designer's name was Hendry.
> 
> Any further authoritative comments from the net?  In particular, was the
> predecessor of B developed in the US or the UK??

According to _The C Primer_, by Hancock & Krieger, published by McGraw-Hill in
1982, BCPL stands for:

	Basic Combined Programming Language

BCPL was written by Martin Richards, at Cambridge in 1967.

Thus, the family tree for C is:


	Algol60		Designed by international committee, 1960

	CPL		(Combined Programming Language) Designed by
			Cambridge and the University of London, 1963

	BCPL		(Basic Combined Programming Language) Designed
			by Martin Richards, Cambridge, 1967

	B		Designed by Ken Thompson, Bell Labs, 1970

	C		Designed by Dennis Ritchie, Bell Labs, 1972

I can find no references to a British Computer Programming Language or a
British Common Programming Language.

Kurt Arthur
Software Services of Florida, Inc.

rikki)) (01/15/88)

From article <883@micomvax.UUCP>, by ray@micomvax.UUCP (Ray Dunn):
> Since posting my article on BCPL agreeing with Eric Raymond's view that the
> name stands for "British Common Programming Language" (or in fact as I just
> type this, it occurs to me that it was "British Computer Programming
> Language"!!),  I have seen several postings which lead me to believe that
> perhaps the picture is being confused by two DIFFERENT languages called
> BCPL, perhaps one in the UK and one in the US.  This was the thought which
> stopped me posting an earlier response on the subject until I saw Eric's
> article.
> 
> Somehow though I don't think so, as the BCPL I new in the 60's/70's WAS
> a language designed for system programming.  Really digging into the
> haze of time, was it developed in London?  Imperial College??  I still
> think the designer's name was Hendry.
> 
> Any further authoritative comments from the net?  In particular, was the
> predecessor of B developed in the US or the UK??
> 
> Ray Dunn.  ..philabs!micomvax!ray

I don't have any of the previous traffic on this item, so I apologize if
I'm repeating anything that went before but:

I have a copy of "The Programming Language B" by Johnson and Kernighan
(Bell Labs CS Tech Rept #8, Jan 1973).  The intro states:

"B is a new computer language designed and implemented at Murray Hill.
It runs and is actively supported and documented on the H6070 TSS
system at Murray Hill...

B is reminiscent of BCPL[2], for those who can remember.  The original
design and implementation are the work of K. L. Thompson and D. M.
Ritchie; and their original 6070 version has been substantially improved
by S. C. Johnson, who also wrote the runtime library."

The references might help in answering your BCPL questions:

[1] Richards, M. "The BCPL Reference Manual."  Multics repository M0099.

[2] Canaday, R.H, and Ritchie, D.M. "Bell Laboratories BCPL." (Bell
Laboratories Memorandum)

[3] Kernighan, B.W. "A Tutorial Introduction to the Language B." (Bell
Laboratories Memorandum).

Sorry I can't help you any tracking any of them down (afraid I'm just not
interested.).  I got my copy of the B manual a few years ago simply by
calling the library at Murray Hill and asking for it.  Some anonymous but
very helpful person mailed it to me.

-- 
Rikki Welsh
Centel Information Systems
5515 Security Lane, Rockville, Maryland, 20852, (301) 984-3636
UUCP:	decuac!macom1!rikki

scm@gtx.com (Sue Miller) (01/16/88)

In article <883@micomvax.UUCP> ray@micomvax.UUCP (Ray Dunn) writes:
+Since posting my article on BCPL agreeing with Eric Raymond's view that the
+name stands for "British Common Programming Language" (or in fact as I just
+type this, it occurs to me that it was "British Computer Programming
+Language"!!),  I have seen several postings which lead me to believe that
+perhaps the picture is being confused by two DIFFERENT languages called
+BCPL, perhaps one in the UK and one in the US.  This was the thought which
+stopped me posting an earlier response on the subject until I saw Eric's
+article.
+
+Somehow though I don't think so, as the BCPL I new in the 60's/70's WAS
+a language designed for system programming.  Really digging into the
+haze of time, was it developed in London?  Imperial College??  I still
+think the designer's name was Hendry.
+
+Any further authoritative comments from the net?  In particular, was the
+predecessor of B developed in the US or the UK??
+
+Ray Dunn.  ..philabs!micomvax!ray


Well, I don't know anything but what I read here in K&R (genuflect, please).
According to page 2 of Chapter 0, BCPL (whatever it stands for) was developed
by Martin Richards (whoever he is).  Too bad we don't have his phone number,
we could give him a call and he could settle this for us...thereby freeing
up our time in order that we may argue about other earth-shaking matters.

 ;-) **16



-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
~   Sue Miller   {ihnp4,cbosgd,decvax,hplabs,seismo}!sun!sunburn!gtx!scm ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

dhesi@bsu-cs.UUCP (01/16/88)

In article <536@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) 
writes:
>(2) BCPL stands for Basic Combined Programming Language

Are you sure?  I always thought BCPL stood for "Before the C Programming
Language", since BCPL was a predecesor of C.
-- 
Rahul Dhesi         UUCP:  <backbones>!{iuvax,pur-ee,uunet}!bsu-cs!dhesi

steve@polyslo.UUCP (Steve DeJarnett) (01/17/88)

In article <1867@bsu-cs.UUCP> dhesi@bsu-cs.UUCP (Rahul Dhesi) writes:
>In article <536@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) 
>writes:
>>(2) BCPL stands for Basic Combined Programming Language
>
>Are you sure?  I always thought BCPL stood for "Before the C Programming
>Language", since BCPL was a predecesor of C.

	Since I don't see any smiley face here, I'm assuming that this is
a serious question, to which the answer (according to everything I've read
on the subject) is "Yes, we're sure it doesn't stand for 'Before the C 
Programming Language'", although that is one of the more creative explainations
I've heard so far.  It really is supposed to stand for 'Basic Combined
Programming Language'.

	I'm sure this won't clarify anything for at least someone out there,
but I thought I'd put in my $0.02 worth.


-------------------------------------------------------------------------------
| Steve DeJarnett		|    ...!ihnp4!csun!polyslo!steve	      |
| Computer Systems Lab		|    ...!{csustan,csun,sdsu}!polyslo!steve    |
| Cal Poly State Univ.		|    ...!ucbvax!voder!polyslo!steve	      |
| San Luis Obispo, CA  93407	|    					      |
-------------------------------------------------------------------------------
#include <std_disclaimer.h>

wesommer@athena.mit.edu (William E. Sommerfeld) (01/17/88)

In article <1867@bsu-cs.UUCP> dhesi@bsu-cs.UUCP (Rahul Dhesi) writes:
>Are you sure?  I always thought BCPL stood for "Before the C Programming
>Language", since BCPL was a predecesor of C.

I always thought it was the Body Count Programming Language. 

					Bill Sommerfeld
					MITCLH '87 tech support.

(MITCLH, otherwise known as Clearinghouse, is a database system
written in a variant of BCPL and running on TOPS-20 systems; it is
used to help keep track of freshmen during rush/orientation week at
MIT.)

TLIMONCE%DREW.BITNET@CUNYVM.CUNY.EDU (01/17/88)

Can we end this debate about that the B and C stand for in BCPL please?
This is info-c, not info-bcpl.  With all this interest, maybe info-bcpl
should be created? :-)  Maybe just info-where_did_this_name_come_from?
:-)

Now, since I believe in going with the flow, I will add my own net-noise:

The other day, rikki@macom1.uucp wrote:
>I have a copy of "The Programming Language B" by Johnson and Kernighan
>(Bell Labs CS Tech Rept #8, Jan 1973).  The intro states:
>
>"B is a new computer language designed and implemented at Murray Hill.
>It runs and is actively supported and documented on the H6070 TSS
>system at Murray Hill...

When I was 17 I dated a girl from Murray Hill, New Jersey.  It was about
a 35 minute drive to her house (I lived in Morristown) but she was worth
it.  Actually, she was Wirth it.  She had plenty of bucks.  She was what
we called a "richy"... or should I say Richie.

(PUN PATROL!  You're under arrest!)
                             Tom Limoncelli
  Drew U/Box 1060/Madison NJ 07940     Bitnet: tlimonce@drew.BITNET
  Disclaimer: These are my views, not my employer or Drew Univesity.
                           "Are we DONE yet?"
--------------------------------------------------------------------------

chip@pedsga.UUCP (01/19/88)

In article <1867@bsu-cs.UUCP> dhesi@bsu-cs.UUCP (Rahul Dhesi) writes:
>In article <536@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) 
>writes:
>>(2) BCPL stands for Basic Combined Programming Language
>Are you sure?  I always thought BCPL stood for "Before the C Programming
>Language", since BCPL was a predecesor of C.

I hope your kidding.  How can you use the name of something before it 
exists?  During WWI, they just called it the World War, because they didn't
realize there would be a WWII.  Likewise for BC/AD years.
-- 
         Chip ("My grandmother called me Charles once. ONCE!!") Maurer
     Concurrent Computer Corporation, Tinton Falls, NJ 07724 (201)758-7361
        uucp: {mtune|purdue|rutgers|princeton|encore}!petsd!pedsga!chip
                       arpa: pedsga!chip@UXC.CSO.UIUC.EDU

smvorkoetter@watmum.waterloo.edu (Stefan M. Vorkoetter) (01/20/88)

In article <1050@polyslo.UUCP> steve@polyslo.UUCP (Steve DeJarnett) writes:
>In article <1867@bsu-cs.UUCP> dhesi@bsu-cs.UUCP (Rahul Dhesi) writes:
>>Are you sure?  I always thought BCPL stood for "Before the C Programming
>>Language", since BCPL was a predecesor of C.
>	Since I don't see any smiley face here, I'm assuming that this is
>a serious question, to which the answer (according to everything I've read
...

How would the designers of BCPL have known that there was going to be
a C programming language.  This is liking finding a coin with 300 B.C.
stamped on it as the date.

rmb384@leah.Albany.Edu ( Robert Bownes) (01/20/88)

	According to D.M. Richie, S.C. Johnson, M.E. Lesk, and
B.W. Kernighan's paper entitled _The C Programming Language_
published in the _Bell System Technical Journal_ pg 1991,

"Many of the most important ideas stem from the considerably older,
but still quite vital, language BCPL[2] developed by Martin Richards.
The influence of BCPL on C proceeded indirectly through the language B[3],
which was written by Ken Thompson in 1970 for the first UNIX system on the 
PDP-11"

	I think this pretty much says it all.

[2]M. Richards, "BCPL: A Tool for Compiler Writing and Systems Programming",
	Proc AFIPS SJCC, 34 (1969), pp 557-566
[3] S.C. Johnson & B. W. Kernighan, "The programming Language B",
	Comp Sci Tech Rep No. 8, Bell Labs (jan 1973)


	Bob Bownes	bownesrm@beowulf.uucp

	OS/3D - The Nightmare Continues. Coming through a screen near you,
			REAL SOON NOW!!!!!

sns@genghis.UUCP (Sam Southard) (01/21/88)

In article <250@pedsga.UUCP>, chip@pedsga.UUCP writes:
> I hope your kidding.  How can you use the name of something before it 
> exists?  During WWI, they just called it the World War, because they didn't
> realize there would be a WWII.  Likewise for BC/AD years.

You mean that in 42 BC they called it simply 42?  And in 12 BC they called it
simply 12?  How did they pick when to place the 0?  And why did they count
backwards? :)
-- 

Sam Southard, Jr.
{sns@genghis.caltech.edu|sns@genghis.uucp|{backbone}!cit-vax!genghis!sns}

chris@mimsy.UUCP (Chris Torek) (01/21/88)

>In article <1867@bsu-cs.UUCP> dhesi@bsu-cs.UUCP (Rahul Dhesi) writes:
>>... I always thought BCPL stood for "Before the C Programming
>>Language", since BCPL was a predecesor of C.

In article <250@pedsga.UUCP>, chip@pedsga.UUCP writes:
>I hope your kidding.  How can you use the name of something before it 
>exists?

Did your leg come off in his hand?  :-)  Of course he was kidding.

>During WWI, they just called it the World War, because they didn't
>realize there would be a WWII.

Actually, it was most often called the Great War.

(What is this doing in comp.lang.c?)
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163)
Domain:	chris@mimsy.umd.edu	Path:	uunet!mimsy!chris

firth@sei.cmu.edu (Robert Firth) (01/22/88)

In article <351@genghis.UUCP> sns@genghis.UUCP (Sam Southard) writes:

>You mean that in 42 BC they called it simply 42?  And in 12 BC they called it
>simply 12?  How did they pick when to place the 0?  And why did they count
>backwards? :)

There is no year 0.  1BC was followed by 1AD.  This is because the Romans
hadn't yet discovered the number zero.  In fact, one of the main causes
of the fall of the Roman Empire was that, lacking zero, they had no way
to indicate successful termination of their C programs.

Now can we get back to inventing symbols for "autodecrement, raise to an
integer power, and return the number you first thought of"?