My course in the mid 80s had Modula 2 and ML (it wasn't SML at the time) as the main high level languages taught.
A bigger influence was that the main machines we used ran 4.2BSD (and later Ultrix). So those of us who were keen, used C (and the odd shell script) to write useful programs.
Didn't find your answer? Ask the community — no account required.
D
druck
Simply the best.
---druck
C
Charlie Gibbs
During my abortive university CS period (1968-1971) there was a course whose purpose was to expose you to as many programming languages as possible, hitting you with a new one every two weeks. Algol 60, Algol 68, Algol W, LISP, UMIST, SNOBOL4... Fortunately I dropped out before having to take that one.
I remember that. It had something to do with enclosing all keywords in apostrophes in place of the bold-faced type in the reference books. It was nasty both in appearance and typing.
We started off with FORTRAN and moved to IBM 360 assembly language, then on to other languages like PL/I. I decided I liked assembly language because there was no snooty compiler slapping my wrist and telling me I couldn't do something.
In one term project we were divided into three-person groups. The other two wanted to use PL/I while I insisted on assembly language; we compromised by having them do the theoretical processing in PL/I while I wrote the I/O processor in assembly language. Interfacing the two was a bear.
In another term project where we worked individually, I wrote my program in assembly language. During the review my prof (also the CS department head and one of the creators of Algol 68) would repeatedly look at me with a pained expression and ask, "Why did you do it in assembly language?"
However, all ended well. I left the CS types in their ivory tower and found a job in the Real World [tm], writing code in assembly language and RPG. (The machines I worked on were too small to handle COBOL.)
Then along came C - it was a godsend, and I use it to this day.
T
TimS
Yes, yes !! That was it. Quite why we had to do that was a mystery.
A
Ahem A Rivet's Shot
It was so that the set of keywords in the language could be extended without any risk of them ever being mistaken for variables. The idea was that keywords were picked out by "stropping" them either by CASE or with 'quotes' or by typeface (bold usually) instead of there being a set of keywords that could not be used as variable names.
T
TimS
Yebbut that was never going to work, given the technology of the day. I think I wrote one program in it and didn't bother after that.
A
Ahem A Rivet's Shot
But it *did* work - you could even type the code stropped with quotes or UPPER CASE and print it stropped with bold face or italic.
I quite liked Algol 60, and Algol W was OK as teaching languages go but I really didn't get on with Algol 68C - nasty over-complex mess of a language - meeting it at the same time as BCPL only emphasised the impression.
T
TimS
Not on standard line printers of the day which IIRC didn't even have lower case. And the quotes were just a pain.
A
Ahem A Rivet's Shot
No on those it would have to print quote stropping, even if it was typed in with case or bold stropping on some fancy terminal.
K
Kees Nuyt
No: { ... } is written as BEGIN ... END
Sweet memories of Borland Turbo Pascal with Turbo Vision ...
C
Charlie Gibbs
That makes sense. Remember COBOL reserved words?
T
TimS
What SQLite does is sort of the opposite. If you want to define a column or table with what is in fact a reserved word, then you have to put double-quotes around it in your definition. If you avoid reserved words then nothing (except strings) needs quoting. Much better than what Algol did. Really off-putting, it was.
A
Ahem A Rivet's Shot
That does not achieve what the Algol stropping achieves, which is to ensure that code does not need to be changed when the language is extended. If a new keyword is added to Algol it doesn't matter if code uses that word as a variable, it will still compile correctly and do what it ever did.
T
TimS
Funny how no other language I've come across in the intervening 55 or more years has found it necessary to do that.
R
Richard Kettlewell
The problem still exists, other languages just don’t attempt to solve it. All the impacted users get to modify their code to work around the damage instead.
The case of ‘export’ in C++ was particularly grating, since almost no implementations ever supported the functionality, but some of them still error when encountering the new keyword.
T
TimS
Much the best approach. And you don't actually have to do anything unless you are making a new version.
B
Björn Lundin
Yes, but in another context
{ this is a comment in pascal }
The first time I saw C, I wondered why it was so much comments ...
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.