Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

C critisisms

11 views
Skip to first unread message

Stan Horwitz

unread,
Jan 2, 1988, 10:36:26 AM1/2/88
to
From: Stan Horwitz <V4039%TEMPLEV...@cunyvm.cuny.edu>
To: Inf...@brl.arpa
In-Reply-To: <Your message of Wed 30 Dec 87 20:21:24 GMT>
Message-ID: <880102010...@SMOKE.BRL.ARPA>
Subject: Re: Modern langauges

Regarding the critisms of C recently posted, as a new C programmer, just
as a hobby ... not work related, I find the whole language very strange
but intriguing. It does offer the imagitive programmer lots of control
not easily available in higher level languages. It's syntax is strange
but that can be fixed to some extent by simply creating a file with
#DEFINE statements defining thins in easier terms. I was tempted to
set up just such a file of definitions with the goal of making the syntax
appear similar to that of Pascal which I know very well, but this is not
something one does when learning a language. Some of the symbols used
for operations are insane. If more care were used by C's authors in
selecting symbols to use, it would have made it a little more difficult
to make stupid errors.
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?

Happy New Year ... Stan Horwitz V4039 at TEMPLEVM

Fai Lau

unread,
Jan 2, 1988, 8:59:42 PM1/2/88
to
In article <11...@brl-adm.ARPA> V4039%TEMPLEV...@CUNYVM.CUNY.EDU (Stan Horwitz) writes:
>
> Regarding the critisms of C recently posted, as a new C programmer, just
>as a hobby ... not work related, I find the whole language very strange
>but intriguing. It does offer the imagitive programmer lots of control
>not easily available in higher level languages. It's syntax is strange
>but that can be fixed to some extent by simply creating a file with
>#DEFINE statements defining thins in easier terms. I was tempted to
>set up just such a file of definitions with the goal of making the syntax
>appear similar to that of Pascal which I know very well, but this is not
>something one does when learning a language. Some of the symbols used
>for operations are insane. If more care were used by C's authors in
>selecting symbols to use, it would have made it a little more difficult
>to make stupid errors.

C was designed for programmers who hate to type (and so
is the whole UN*X system). So some of the names may be strange, if
what you mean is their simplexity. For example, && stands for
.AND. and a+=b is a=a+b, etc.. You see, C was developed to
"get the job done", not as a result of some theories or research
findings (like Lisp and Pascal). Therefore it has little in the
area of defining symbols to be user friendly and easy to interpreate
in the context of a program. It offers the experienced programmers
a lot of power and convenience, but that's about it. Programs written
in this language is not the easiest to understand. Its syntex
isn't the most structured (a+=b == a=a+b, and you can take things
out of the for(..) and put it in the beginning of the loop body, etc.).
And it makes a poor choice as a tool to teach programming concepts.
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.

> 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?
>
> Happy New Year ... Stan Horwitz V4039 at TEMPLEVM

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.

Fai Lau
SUNY at Buffalo (The Arctic Wonderland)
UU: ..{rutgers,ames}!sunybcs!ugfailau
BI: ugfailau@sunybcs INT: ugfa...@cs.buffalo.EDU

Stan Horwitz

unread,
Jan 2, 1988, 11:06:53 PM1/2/88
to
Steve, your answer does seem to be correct. C is the successor to B which
is the successor to BCVL so thanks for the confirmation. Others have
provided similiar answers and references to the K and R book. Stan

Stan Horwitz

unread,
Jan 2, 1988, 11:48:13 PM1/2/88
to

Others on INFO-C tell me that C does not stand for compact but it is
simple the next letter after B in the older language BCVL which preceded
the langauge B. ... Stan

karthur@codas

unread,
Jan 4, 1988, 8:12:00 AM1/4/88
to
In article <75...@sunybcs.UUCP> ugfa...@sunybcs.uucp (Fai Lau) writes:
>
> In article <11...@brl-adm.ARPA> V4039%TEMPLEV...@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.

Kurt_R_Arthur

unread,
Jan 4, 1988, 9:12:04 AM1/4/88
to
In article <75...@sunybcs.UUCP> ugfa...@sunybcs.uucp (Fai Lau) writes:
>
> In article <11...@brl-adm.ARPA> V4039%TEMPLEV...@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

Eric S. Raymond

unread,
Jan 4, 1988, 10:54:14 AM1/4/88
to
In article <75...@sunybcs.UUCP>, ugfa...@joey.UUCP (Fai Lau) writes:
> 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.

Grrr...if you don't know the answer, don't bloody make one up!

The name 'C' was assigned because the original DMR compiler on the PDP-11 was
written as the successor to an interpreted language called 'B' that Ritchie
had been hacking with on the original PDP-7 proto-Unix. B, in turn, was so
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.

--
Eric S. Raymond
UUCP: {{seismo,ihnp4,rutgers}!cbmvax,sdcrdcf!burdvax,vu-vlsi}!snark!eric
Post: 22 South Warren Avenue, Malvern, PA 19355 Phone: (215)-296-5718

Daniel A. Glasser

unread,
Jan 4, 1988, 4:00:29 PM1/4/88
to
In article <75...@sunybcs.UUCP> ugfa...@joey.UUCP (Fai Lau) writes:
>In article <11...@brl-adm.ARPA> V4039%TEMPLEV...@CUNYVM.CUNY.EDU (Stan Horwitz) writes:
[much stuff deleted]

>>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?
>>
>> Happy New Year ... Stan Horwitz V4039 at TEMPLEVM
>
> 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.
>
>Fai Lau
>SUNY at Buffalo (The Arctic Wonderland)
>UU: ..{rutgers,ames}!sunybcs!ugfailau
>BI: ugfailau@sunybcs INT: ugfa...@cs.buffalo.EDU

No, I believe that the name "C" actually comes from
the language BCPL, on which C's predicessor, B, is based.
Many attempts have been made by authors of C and UNIX texts
to come up with more romantic or meaningful meanings for these
names, but in fact, they are just puns or jokes.

BCPL and B are typeless, ie, only machine word types. C is not
a sub-dialect of either of these languages.

Just to fill you in, and fill up the pnews line requirement but
not restart the "origin of the name UNIX" flamefest that occurs
every six months ahead of schendule, the name "UNIX" is a pun --
The authors had been working on the MULTICS project. MULTICS is
the PL/I of operating systems, is huge and does everything in
the OS. UN (as opposed to MULT) IX (instead of ICS).
[Some authors have attempted to change history here and have
asserted that the name unix was chosen as "a reference to the
unified, team programming environment it would serve." (1)]

I hope this clears some stuff up for both of you.

Daniel A. Glasser

(1) Rebecca Thomas, PhD & Jean Yates, "A User Guide to the UNIX(TM) System"
copyright 1982 by McGraw-Hill, ISBN 0-931988-71-3. Excerpt
reprinted within the copyright limits and does not violate
any US or international copyright convention. It is from Chapter 1
(Page 6, end of first paragraph in my edition.)
--
Daniel A. Glasser
...!ihnp4!chinet!dag
...!ihnp4!mwc!dag
...!ihnp4!mwc!gorgon!dag
One of those things that goes "BUMP!!! (ouch!)" in the night.

Robert Firth

unread,
Jan 4, 1988, 4:06:03 PM1/4/88
to
In article <14...@codas.att.com> kar...@codas.att.com (Kurt_R_Arthur) writes:

[ amid a lot of accurate and entertaining stuff on the history of C ]

> BCPL & B share a common problem, though:

>they are so sparse they are almost unusable...

Well, I've been a BCPL user and fan for more than 15 years, and by no means
consider it unusable. Some illustrations

(a) compilers, not just for BCPL but bigger languages, including Algol-60,
Algol-68, Fortran-77 and Modula-2.

(b) operating systems, including Tripos, one of the best (in my opinion)
distributed OS (sold commercially as 'Trout')

(c) data bases, including 'Scrapbook' (also a commercial product), and a
relational DB from the same vendor whose name escapes me.

(d) real-time programs, would you believe, including a distributed kernel
to support Ada.

Yes, the language is sparse; it has very few primitive semantic concepts.
But it is also very easy to use, and you can build most of the higher-level
stuff you need. It is also very portable, since there is not a lot to
implement, and the implementor is highly motivated to get it right.

e.a.olson

unread,
Jan 4, 1988, 7:33:55 PM1/4/88
to
In article <75...@sunybcs.UUCP> ugfa...@joey.UUCP (Fai Lau) writes:


Nope. 'C' is called that because it is a successor to 'B'! :-)

Robert Firth

unread,
Jan 5, 1988, 9:04:46 AM1/5/88
to
In article <1...@snark.UUCP> er...@snark.UUCP (Eric S. Raymond) writes:
>In article <75...@sunybcs.UUCP>, ugfa...@joey.UUCP (Fai Lau) writes:
>> 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.
>
>Grrr...if you don't know the answer, don't bloody make one up!
>
>The name 'C' was assigned because the original DMR compiler on the PDP-11 was
>written as the successor to an interpreted language called 'B' that Ritchie
>had been hacking with on the original PDP-7 proto-Unix. B, in turn, was so
>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.

That's 'Basic Combined Programming Language'; it was the early '60s, and
Martin did most of the work while in the USA. Moreover, B was not a
'stripped' version; the main change was to replace the readable Algol
like syntax with one more to the author's taste.

Granted, I have the dubious advantage of having lived through this history,
but surely you guys could look it up?

Jim Hague

unread,
Jan 5, 1988, 12:13:35 PM1/5/88
to
Expires:

Sender:

Followup-To:


In article <1...@snark.UUCP> er...@snark.UUCP (Eric S. Raymond) writes,
correcting some misinformation on C ..


>
>Grrr...if you don't know the answer, don't bloody make one up!
>

>.. BCPL (aka British Common Programming Language) ..

BCPL = Basic CPL ( CPL = Combined Programming Language ). This is the gospel
according to R & W-S. Thanks be to thee, O-CODE.

------- | |
/ o----- * B A N G * |__| * O U C H *
/_/ ___/ )
(____/I_I
Sprinkle :-) liberally ......
--
Jim Hague UUCP: ..!mcvax!ukc!jmh Failure has gone to his
TG: 72:MAG10135 head. - Wilson Mizner.

Eric S. Raymond

unread,
Jan 5, 1988, 6:08:05 PM1/5/88
to
In <1...@snark.UUCP> I wrote:
>The name 'C' was assigned because the original DMR compiler on the PDP-11 was
>written as the successor to an interpreted language called 'B' that Ritchie
>had been hacking with on the original PDP-7 proto-Unix.

Arnold Robbins points out that my phrasing is misleading, implying that DMR
wrote B. My apologies to anyone confused; Ken Thompson designed and wrote B.

Also, I expanded 'BCPL' to 'British Common Programming Language'. Mr. Robbins
thinks the correct name is '*Basic* Common Programming Language' and may well
be right -- I once knew the exact name, when I was doing the research for
the history section in _Portable_C_And_Unix_Systems_Programming_, but may have
misremembered it.

BTW, I am given to understand that BCPL is still sort of alive on one machine
with a fairly large user base, the Commodore Amiga. A friend who develops for
Amigas claims that parts of the AmigaDOS lower levels were lifted from TRIPOS,
an OS developed at Cambridge University in BCPL. He says that this has still-
visible consequences in the C interfacing. Can anyone else verify this?

Doug Gwyn

unread,
Jan 5, 1988, 10:04:55 PM1/5/88
to
In article <11...@brl-adm.ARPA> V4039%TEMPLEV...@CUNYVM.CUNY.EDU (Stan Horwitz) writes:
>... I find the whole language very strange ...

What one thinks things "should" be like is heavily influenced by one's
past experience. You may already realize this, but an amazing number
of people don't -- witness the recurrent "editor wars", "VMS vs. UNIX"
debates, etc. C doesn't seem that strange to BCPL or experienced C
programmers.. Now, that Pascal, man -- that's a strange language! :-)

>Was the name C the result of a night of heavy drinking or what?

I think they were going to call it "Pussy Galore", but discovered that
Ian Fleming had already appropriated that name.

Fai Lau

unread,
Jan 6, 1988, 4:30:57 AM1/6/88
to
In article <69...@brl-smoke.ARPA> gw...@brl.arpa (Doug Gwyn (VLD/VMB) <gwyn>) writes:
>
>What one thinks things "should" be like is heavily influenced by one's
>past experience. You may already realize this, but an amazing number
>of people don't -- witness the recurrent "editor wars", "VMS vs. UNIX"
>debates, etc. C doesn't seem that strange to BCPL or experienced C
>programmers.. Now, that Pascal, man -- that's a strange language! :-)
>
I have had the opportunity to use both the VNS editor
and the UN*X editor, and I think they're just equally good.
Granted when I first used the vi I was shocked. You mean
I have to type an i to insert and type escape to exit the mode?
But when I got totally used to it I ended up liking it as much
as the VMS editor. What convenience it sacrifies is counter
balanced by the power it offers, so it really isn't better
or worse. To use the corny phrase "it's just different".
Now I use vi most often, and I have been really rusty
in my ability of using the VMS editor (I used to remember
the functions of every single key on the key pad). I can
understand why some people would prefer vi and why some people
would prefer VMS. And I think a "war" is pointless.

Fai Lau
SUNY at Buffalo (The Arctic Wonderland)
UU: ..{rutgers,ames}!sunybcs!ugfailau

BI: ugfailau@sunybcs INT: ugfa...@joey.cs.buffalo.EDU

John P. Nelson

unread,
Jan 7, 1988, 5:13:01 PM1/7/88
to
>This does bring up a question though: Why is it C++ instead of D or P? (grin).

I thought that this pun was obvious: C++: the old value of C, and
increment it as well.

Peter da Silva

unread,
Jan 7, 1988, 7:03:41 PM1/7/88
to
In article <36...@aw.sei.cmu.edu>, fi...@sei.cmu.edu (Robert Firth) writes:
> (b) operating systems, including Tripos, one of the best (in my opinion)
> distributed OS (sold commercially as 'Trout')

I'd have to disagree. Tripos is also sold as the DOS part of AmigaDOS. The
use of BCPL produces innumerable headaches for programs that want to use it:
BCPL pointers are indexes into a 32-bit-wide array based at 0. Thus to send
an address to BCPL you have to divide it by 4 (shift right 2 places) if you
are using ANY other languages. The BCPL orientation of Tripos makes the C
orientation of UNIX look like a mild bias. Tripos is, in design and
implementation, a very nice system (though the file system could do with
a more pragmatic approach to directories). If it was written in anything
but BCPL it'd be great.

Tripos is also available as the O/S on the Sinclair QL, for those who want
to wet their Tripos feet without laying out O($1000) for an Amy.

Of course that's not to say that you shouldn't run right out now and get
an Amiga... :->
--
-- Peter da Silva `-_-' ...!hoptoad!academ!uhnix1!sugar!peter
-- Disclaimer: These U aren't mere opinions... these are *values*.

Jim Sewell

unread,
Jan 7, 1988, 7:31:21 PM1/7/88
to
> BTW, I am given to understand that BCPL is still sort of alive on one machine
> with a fairly large user base, the Commodore Amiga. A friend who develops for
> Amigas claims that parts of the AmigaDOS lower levels were lifted from TRIPOS,
> an OS developed at Cambridge University in BCPL. He says that this has still-
> visible consequences in the C interfacing. Can anyone else verify this?
> --
> Eric S. Raymond
> UUCP: {{seismo,ihnp4,rutgers}!cbmvax,sdcrdcf!burdvax,vu-vlsi}!snark!eric

I have not had any experience with the lower level AmigaDOS development, but I
have neither had, nor heard of anyone having, trouble writing common every day
type C code on the Amiga. It is common knowledge in the Amiga circles that
AmigaDOS commands are all written in BCPL and I have heard in several reliable
places of it being based on TRIPOS. I believe, but don't quote me 8-), that
the devolopers scratched the first attempt at an op-sys and used TRIPOS as a
basis for the one they eventually released. As a related note, there is a
project going on called the "AmigaDOS Replacement Project" which is an attempt
to replace the BCPL commands with C versions which will run faster, compile C
smaller, and interface better. Please forgive my inability to remember by who
and where this work is being done.
==============================================================================
Jim Sewell "Make knowledge free!"

Richard A. O'Keefe

unread,
Jan 7, 1988, 8:46:59 PM1/7/88
to
In article <1...@snark.UUCP>, er...@snark.UUCP (Eric S. Raymond) writes:

> In <1...@snark.UUCP> I wrote:
> Also, I expanded 'BCPL' to 'British Common Programming Language'. Mr. Robbins
> thinks the correct name is '*Basic* Common Programming Language' and may well
> be right -- I once knew the exact name, when I was doing the research for
> the history section in _Portable_C_And_Unix_Systems_Programming_, but may
> have misremembered it.

Let's get this right once and for all. According to the book
BCPL - the language and its compiler
Martin Richards & Colin Whitby-Strevens
Cambridge University Press 1980
ISBN 0 521 28681 6
Price: five pounds sterling

"BCPL was designed by .. Richards .. in 1967.
It underwent substantial development over the next five years,
but since then has remained relatively stable.
...
The language BCPL (Basic CPL) was originally developed as a
compiler-writing tool and, as its name suggests, is closely
related to CPL (Combined Programming Language) which was
jointly developed at Cambridge and London Universities."

Much of the flavour of BCPL has been retained in C. For example,
the first program in the book is (with one change)
GET "LIBHDR"
LET START() BE WRITES("Hello, World*N")
which is the exact analogue of
#include <stdio.h>
main()
{
printf("Hello, World\n");
}
BCPL has end-of-line comments introduced by "//". I wonder whether the
reintroduction of this into C++ is a coincidence?

Even the idea of having a separate "lint" program was first reported for
BCPL.

The book includes source code for the first pass of a BCPL compiler.
It used to be quite easy to get a tape with a BCPL->OCODE compiler in
source form, an OCODE->INTCODE translator, and an INTCODE interpreter.
There was also a "ed"-like editor called CHEF.

The biggest difference between BCPL and C was that BCPL was designed
before byte-addressing became popular, so Array!Subscript adds a word
offset to the array address, which meant lots of multiplication by 4.
(Array%ByteOffset was added for the /370.)

If you are interested in operating systems, there was a small operating
system called OS6 written in BCPL. The source code and commentary are
available as
The Text of OSPub
Christopher Strachey & Joseph Stoy
Technical Monographs PRG-9 (t) and PRG-9 (c)
July 1972
Oxford University Computing Laboratory
Programming Research Group
45 Banbury Road,
Oxford, Englang.
I wonder whether there has ever been another operating system without any
'goto's?

peter c halverson

unread,
Jan 8, 1988, 9:10:58 AM1/8/88
to

But shouldn't it really be ++C then? Otherwise, the value (language?)
"returned" is still the old C :-)

~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Pete Halverson ARPA: halv...@ge-crd.ARPA
General Electric Company UUCP: uunet!steinmetz!iraq!halvers
Corporate R & D
Schenectady, NY

"Trust me; I know what I'm doing."
--- Inspector Sledge Hammer

Robert Firth

unread,
Jan 8, 1988, 10:38:12 AM1/8/88
to
In article <36...@aw.sei.cmu.edu>, fi...@sei.cmu.edu I wrote

[BCPL has been used for]


(b) operating systems, including Tripos, one of the best (in my opinion)
distributed OS (sold commercially as 'Trout')

In article <13...@sugar.UUCP> pe...@sugar.UUCP (Peter da Silva) writes:

I'd have to disagree. Tripos is also sold as the DOS part of AmigaDOS. The
use of BCPL produces innumerable headaches for programs that want to use it:
BCPL pointers are indexes into a 32-bit-wide array based at 0. Thus to send
an address to BCPL you have to divide it by 4 (shift right 2 places) if you
are using ANY other languages. The BCPL orientation of Tripos makes the C

orientation of UNIX look like a mild bias...

Thanks, Peter - I was imprecise. What I meant to say was that I thought
highly of the concepts, design, and implementation of Tripos, having used
it from the terminal and from BCPL code.

However, the Amiga port made a decision I consider totally crazy: to
exposdet to other languages the implementation of the BCPL pointer. The
proper place for shifts left and right is either at the interface (so the
compiler does it for you) or within the BCPL code. To force upon the
user those BPTRS or whatever they're called was a major blunder. Peter
is if anything too kind here. But I still claim (albeit unconvincingly)
that this is not a defect of BCPL but rather of the way other things
were built on top of it.

And no, I'm not about to run out and buy an Amiga, for all sorts of reasons.

Karl Heuer

unread,
Jan 8, 1988, 5:21:14 PM1/8/88
to
In article <5...@cresswell.quintus.UUCP> o...@quintus.UUCP (Richard A. O'Keefe) writes:
>BCPL has end-of-line comments introduced by "//". I wonder whether the
>reintroduction of this into C++ is a coincidence?

I don't know (but I'll forward this article and all followups to the C++
newsgroup, so Bjarne can answer it if he wants to).

However, I can tell you that I independently came up with the same idea (as
one of many "proposed enhancements to C", most of which I recognized as being
more properly part of a "wish list for D") several years ago, before I knew
that BCPL and C++ did it. I considered it "obvious" that a comment-to-EOL
symbol was desired, since people were putting redundant markers (often " * ")
on the interior lines of block comments anyway; and somehow, "//" seemed like
the most natural notation to use, given the existing C syntax. (My second
choice would be something beginning with "#".)

Karl W. Z. Heuer (ima!haddock!karl or ka...@haddock.isc.com), The Walking Lint

Bob Devine

unread,
Jan 8, 1988, 6:48:33 PM1/8/88
to


>>This does bring up a question though: Why is it C++ instead of D or P? (grin).

>I thought that this pun was obvious: C++: the old value of C, and
>increment it as well.

Actually it should be ++C. C++ means use the current value before
incrementing. To be perverse, one could call Stroustrup's creation C++,C.

Bob

Doug Landauer

unread,
Jan 11, 1988, 1:44:35 AM1/11/88
to
KA> Why is it C++ instead of D or P?
JN> I thought that this pun was obvious: C++: the old value of C, and
JN> increment it as well.
PH> ... shouldn't it really be ++C then? Otherwise, the value (language?)
PH> "returned" is still the old C :-)
BD> Actually it should be ++C. C++ means use the current value before
BD> incrementing. To be perverse, one could call Stroustrup's creation C++,C.

Dr Stroustrup addresses this question in his book "The C++ Programming
Language", in the "Notes to the reader" section (page 4):

The name C++ is a quite recent invention (summer of 1983). [ ... ]
The name C++ was coined by Rick Mascitti. The name signifies the
evolutionary nature of the changes from C. "++" is the C increment
operator. [ ... ] Connoisseurs of C semantics find C++ inferior to ++C.
The language is not called D, since it is an extension of C and does
not attempt to remedy problems by removing features. For yet another
interpretation of the name C++, see the appendix of Orwell [1984].

And, no, this needn't be cross-posted to the C++ newsgroup, where the
question has been asked & answered often.
--
Doug Landauer Sun Microsystems, Inc.
ARPA Internet: land...@sun.com Software Products Division
UUCP: ...!sun!landauer

Ray Dunn

unread,
Jan 13, 1988, 4:20:17 PM1/13/88
to
In article <1...@snark.UUCP> er...@snark.UUCP (Eric S. Raymond) writes:

>In article <75...@sunybcs.UUCP>, ugfa...@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 Dunn

unread,
Jan 13, 1988, 6:00:11 PM1/13/88
to
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

Richard A. O'Keefe

unread,
Jan 14, 1988, 7:12:34 PM1/14/88
to
(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.

John Mashey

unread,
Jan 15, 1988, 2:50:38 AM1/15/88
to
In article <8...@micomvax.UUCP> r...@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 ma...@mips.com
DDD: 408-991-0253 or 408-720-1700, x253
USPS: MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086

John Mashey

unread,
Jan 15, 1988, 3:06:50 AM1/15/88
to
In article <8...@micomvax.UUCP> r...@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".

Kurt_R_Arthur

unread,
Jan 15, 1988, 8:25:38 AM1/15/88
to
In article <8...@micomvax.UUCP> r...@micomvax.UUCP (Ray Dunn) writes:
>

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.

Rikki L. Welsh (decuac!macom1!rikki)

unread,
Jan 15, 1988, 10:14:40 AM1/15/88
to
From article <8...@micomvax.UUCP>, by r...@micomvax.UUCP (Ray Dunn):

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

Peter da Silva

unread,
Jan 15, 1988, 10:24:00 AM1/15/88
to
In article ... dev...@cookie.dec.com (Bob Devine) writes:
> Actually it should be ++C. C++ means use the current value before
> incrementing. To be perverse, one could call Stroustrup's creation C++,C.

It's "increment 'C', but return (output) the old value". You have to remember
that it's almost always a preprocessor.

Peter da Silva

unread,
Jan 15, 1988, 10:46:03 AM1/15/88
to
In article <37...@aw.sei.cmu.edu>, fi...@sei.cmu.edu (Robert Firth) writes:
>
> In article <36...@aw.sei.cmu.edu>, fi...@sei.cmu.edu I wrote
>
> [BCPL has been used for]
> (b) operating systems, including Tripos, one of the best (in my opinion)
> distributed OS (sold commercially as 'Trout')
>
> In article <13...@sugar.UUCP> pe...@sugar.UUCP (Peter da Silva) writes:
>
> [ BCPL pointers (indexes into a 32-bit wide array based at 0) cause lots
> of problems in Tripos ]

>
> Thanks, Peter - I was imprecise. What I meant to say was that I thought
> highly of the concepts, design, and implementation of Tripos, having used
> it from the terminal and from BCPL code.

First I'd like to take this opportunity to totally flame Tripos for their
brain-damaged hashed directories setup, but I'll restrain myself. Secondly:

> However, the Amiga port made a decision I consider totally crazy: to
> exposdet to other languages the implementation of the BCPL pointer. The
> proper place for shifts left and right is either at the interface (so the
> compiler does it for you) or within the BCPL code.

They put these shifts in the interface code. *however*, there are certain
operations that you can't do through the interface that require you to go
digging into the BCPL data structures. I have had to do this, for example,
to get a list of mounted devices for a file requestor so I could display
them to the user (i.e., Tripos doesn't let you examine your whole name
space through the interface). You also need to do this to add device drivers
to Tripos (dynamically loadable drivers are one of its nice features).
Finally, any programs that want to do things in their CLI structures (testing
or changing their stack size, for example) have to deal with these monsters.

It's not forced on the user, but it's forced on any programmer who wants
to present a nice user-interface to the user, or who wants their code to
run in unusual environments.

> To force upon the
> user those BPTRS or whatever they're called was a major blunder. Peter
> is if anything too kind here. But I still claim (albeit unconvincingly)
> that this is not a defect of BCPL but rather of the way other things
> were built on top of it.

Or not built.

I'm still a fan of BCPL, though. I just think that at this time it's more
like a curiosity. You use it for the pleasant feeling of nostalgia. Sort
of like driving a '57 Caddilac.

Oh well, AmigaDOS is being redesigned from scratch without BCPL. It's
still going to have some BPTRs in there, because it'd break existing code
to remove them. Pity CAOS was stillborn.

Sue Miller

unread,
Jan 16, 1988, 3:04:14 AM1/16/88
to
In article <8...@micomvax.UUCP> r...@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 ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

dh...@bsu-cs.uucp

unread,
Jan 16, 1988, 1:40:26 PM1/16/88
to
In article <5...@cresswell.quintus.UUCP> o...@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 DeJarnett

unread,
Jan 16, 1988, 10:45:40 PM1/16/88
to
In article <18...@bsu-cs.UUCP> dh...@bsu-cs.UUCP (Rahul Dhesi) writes:
>In article <5...@cresswell.quintus.UUCP> o...@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>

William E. Sommerfeld

unread,
Jan 16, 1988, 11:03:58 PM1/16/88
to
In article <18...@bsu-cs.UUCP> dh...@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%D...@cunyvm.cuny.edu

unread,
Jan 16, 1988, 11:13:59 PM1/16/88
to
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, ri...@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: tlim...@drew.BITNET
Disclaimer: These are my views, not my employer or Drew Univesity.
"Are we DONE yet?"
--------------------------------------------------------------------------

ch...@pedsga.uucp

unread,
Jan 18, 1988, 1:03:35 PM1/18/88
to
In article <18...@bsu-cs.UUCP> dh...@bsu-cs.UUCP (Rahul Dhesi) writes:
>In article <5...@cresswell.quintus.UUCP> o...@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!ch...@UXC.CSO.UIUC.EDU

Stefan M. Vorkoetter

unread,
Jan 19, 1988, 1:30:13 PM1/19/88
to
In article <10...@polyslo.UUCP> st...@polyslo.UUCP (Steve DeJarnett) writes:
>In article <18...@bsu-cs.UUCP> dh...@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.

Robert Bownes

unread,
Jan 20, 1988, 1:14:19 AM1/20/88
to

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 bown...@beowulf.uucp

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

Sam Southard

unread,
Jan 20, 1988, 1:38:40 PM1/20/88
to
In article <2...@pedsga.UUCP>, ch...@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.
{s...@genghis.caltech.edu|s...@genghis.uucp|{backbone}!cit-vax!genghis!sns}

Chris Torek

unread,
Jan 20, 1988, 4:19:42 PM1/20/88
to
>In article <18...@bsu-cs.UUCP> dh...@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 <2...@pedsga.UUCP>, ch...@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: ch...@mimsy.umd.edu Path: uunet!mimsy!chris

Robert Firth

unread,
Jan 21, 1988, 12:57:49 PM1/21/88
to
In article <3...@genghis.UUCP> s...@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"?

0 new messages