Very little in language design is so contentious as comment conventions.
C borrowed the PL/I convention, which had the virtue of being useful
for both in-line and interlinear comments, and did not necessitate
marking every line of a long comment. Nobody in the Unix lab had
had much experience with the convention, despite having worked on
Multics for which PL/I was the implementation language.
And how did PL/I get the convention? It was proposed by Paul
Rogoway at the first NPL (as it was then called) design-committee
meeting that I attended. Apparently the topic had been debated
for some while before and people were tired of the subject. Paul
was more firmly committed to his new idea than others were to
old options, so it carried more or less by default. Besides, there
was a much more interesting topic on the agenda. Between the
previous meeting and that one, George Radin had revamped the
entire NPL proposal from mainly Fortran-like syntax to Algol-like.
That was heady enough stuff to divert people's attention from
comments.
As for inexperiece. The comment conventions of previous
languages had not fostered the practice of commenting out
code. So that idea, which is the main impetus for nesting
comments, was not in anybody's mind at the time. Had it
been, nesting might well have carried the day. It probably could
have been changed before 1980, but thereafter there were
too many C compilers. Then standards introduced even more
conservatism. Perhaps Ken can remember whether the notion
was ever seriously considered.
Doug
Another DEC compiler that I forgot was the original C compiler for
Tru64 Unix on the Alpha. This was done at the DECwest facility in
Seattle (which originally had been set up by Dave Cutler). It was a
very strict implementation of the ANSI C89 standard--it had no
extensions such as K&R support. One customer called it the "Rush
Limbaugh of C compilers" because it was extremely conservative and you
couldn't argue with it.
-Paul W.
Hi all,
I haven't seen this on the list yet (apologies if I missed it):
https://unix50.org/
You can get a shell in various historical version of UNIX.
Enjoy !
> Why can't c language comments be nested?
For comments that really are comments, what would be the point?
For comments that are really removal of code - commenting out - there
is a better mechanism, #if (or #ifdef), which does nest.
-- Richard
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
> So how was it that so many smart - and somewhat like minded it seems
> people end up there? [At Bell Labs]
1. Bell Labs had a great reputation, though it was not at first known
for computing.
2. Research recruiters were researchers themselves, not HR people.
3. Recruiting was for quality hires, not for particular jobs;
complementary talent was valued.
4. Whom a candidate met on site was determined after s/he gave a seminar;
this promoted good matchups.
5. Researchers decided for themselves what to work on--either self-
generated or an interesting problem from elsewhere in the company.
6. If you needed to know something in most any field, you could usually
find a willing expert to get you on track to an answer.
7. Annual merit review was collegial. No one lost out because of unlucky
draw of a supervisor.
8. Collegiality in fact beat that of any faculty I know. Office doors
were always open; new arrivals needed only to do good work, not to
chase tenure.
This culture grew from the grand original idea of the Labs: R&D for
the whole of AT&T funded by the whole of AT&T, with a long time horizon.
I joined thinking the Labs was good seasoning for academia. The culture
held me for 39 years.
The premise was viable in the days of regulated monopoly. It has been
greatly watered down since.
Doug
Ken's story got me thinking about stuff I would still like to learn
and his comment about "when I got to Bell Labs"... made me wonder
how did Ken, Dennis, Brian, Joe and the rest of the crew make their
way to Bell Labs?
When I was just starting out, Sun was sort of the Bell Labs of the
time (not that Sun was the same as Bell Labs but it was sort of
the center of the Unix universe in my mind). So I wanted to go
there and had to work at it a bit but I got there.
Was Bell Labs in the 60's like that? If you were a geek was that
the place to go? I was born in '62 so I don't have any memory of
how well known the Labs were back then.
So how was it that so many smart - and somewhat like minded it seems -
people end up there?
--lm
> From: Toby Thain
> He made amends by being early to recognise that problem, and propose
> solutions, in his 1977 ACM Turing Award lecture
Actually, I'd consider a far bigger amend to be his work on Algol 60 (he was
one of the main contributors), which Hoare so memorably described as "a
language so far ahead of its time that it was not only an improvement on its
predecessors but also on nearly all its successors".
AFAICT, although Algol 60 itself is no longer used, basically _every_ modern
programming language (other than wierd, parallel ones, etc) is heavily
descended from Algol 60 (e.g. C, via CPL).
As for FORTRAN, it's worth recalling that it was originally for the IBM 704,
which was their very _first_ commercial computer with core memory! And not a
lot of it - early 704's came with a massive 4KW of main memory! So the
compiler had to be squeezed into _very_ small space - and it reportedly did an
excellent job of emitting efficient code (at a time when a lot of people
thought that couldn't be done, and so were hostile to the concept of writing
program in HLL). And the compiler had to be written entirely in assembler, to
boot...
Which brings up an interesting query - I wonder when/what the last compiler
written in assembler was? I gather these days compilers for new machines are
always bootstrapped as cross-compilers (an X compiler for the Y machine is
written in X, run through the X compiler for the [existing] Z machine, and
then run though itself, on the Z machine, to produce binary of itself for the
Y machine).
Noel
> On Dec 4, 2018, Greg 'groggy' Lehey <grog(a)lemis.com> wrote:
>
> The original Tandem OS (called Guardian at the time) was written in Tandem's TAL (Transaction Application Language, amongst other productions), a vague evolution of HP's SPL that looked more like Algol, starting in about 1974. That is also the earliest I know of an operating system being implemented entirely in a high level language.
Most likely the earliest operating system written in a high-level language was the one for the Burroughs B5000 (early 1960s), written in a dialect of Algol 60. Others: Multics, written in PL/1 (starting in mid 1960s), the operating system for the Berkeley Computer Corporation’s BCC-500, written in BCC SPL (system programming language) (late 1960s), OS6 by Stoy and Strachey, written in BCPL (early 1970s), Xerox Alto OS, written in BCPL (about 1974).