July/August 2018 issue of acmqueue The July/August issue of acmqueue is out now

Programming Languages

  Download PDF version of this article PDF

Error 526 Ray ID: 45feed1e5c4821ec • 2018-09-25 16:39:20 UTC

Invalid SSL certificate








What happened?

The origin web server does not have a valid SSL certificate.

What can I do?

If you're a visitor of this website:

Please try again in a few minutes.

If you're the owner of this website:

The SSL certificate presented by the server did not pass validation. This could indicate an expired SSL certificate or a certificate that does not include the requested domain name. Please contact your hosting provider to ensure that an up-to-date and valid SSL certificate issued by a Certificate Authority is configured for this domain name on the origin server. Additional troubleshooting information here.


Originally published in Queue vol. 2, no. 9
see this item in the ACM Digital Library



David Chisnall - C Is Not a Low-level Language
Your computer is not a fast PDP-11.

Tobias Lauinger, Abdelberi Chaabane, Christo Wilson - Thou Shalt Not Depend on Me
A look at JavaScript libraries in the wild

Robert C. Seacord - Uninitialized Reads
Understanding the proposed revisions to the C language

Carlos Baquero, Nuno Preguiça - Why Logical Clocks are Easy
Sometimes all you need is the right language.


(newest first)

Bart Massey | Wed, 16 Jan 2013 04:17:00 UTC

Andy: There used to be an =& operator in C; all the assignment operators were originally written in this form. They were turned around precisely because =& x meant a different thing than = &x, which made software harder to maintain: there is no lexical meaning for & =x in C.

Paul Keating | Wed, 17 Nov 2010 12:53:41 UTC

The "I scan down the column" example is vitiated because the two columns of words are not in fact in columns, as presented in this HTML version.

Andy Dent | Sat, 24 Jul 2010 11:06:37 UTC

Are you really sure that &= is not a typo?

if (rp->p_flag&SSWAP) { rp->p_flag =& ~SSWAP;

=& is not an operator

There is an assignment there that sets rp->p_flag to the ADDRESS of ~SSWAP.

I would be surprised it it was not supposed to be &= instead.

My first language was BASIC and I did a lot of FORTRAN in the early 80's but sufficient study can reprogram even the worst imprinted thinking patterns. I do recommend studying Scheme, Forth and Python to stretch your mind!

skyl | Wed, 13 May 2009 16:10:07 UTC

Great! I'm using this as motivation to take a php job when my love is Python! Maybe giving up the best environment for a while will make me a better coder.

Edward G. Nilges | Tue, 28 Apr 2009 12:52:08 UTC

However, I'd add that "good" code in a language such as C is exposed to all sorts of incompetent maintenance which will override its defenses, whereas "good" code in C Sharp and in Java will be less exposed by the nature of things.

What this means in practice is that it is generally harder to predict what a C program will do, in particular when it imports unexpected libraries, or a library redefines a name using the infamous preprocessor.

Edward G. Nilges | Tue, 28 Apr 2009 12:37:15 UTC

1. After publishing "Build Your Own .Net Language and Compiler" (Apress May 2004), I became a teacher of English and creative writing, since after thirty years of programming I was ready for something different. Literary studies can teach us alot about "good code", including tolerance of different coding styles, useful for your sanity in maintaining code.

2. Here in China, phone numbers are 8 digits. I always have to look my own up, but Chinese people don't. I think this may be because 7 is lucky in the West, but 8 is lucky in China.

3. Don't worry about Walt's comment. I got the same sort of comment merely for mentioning that while I was busy getting a Fortran compiler to work by hacking its object code, "Nixon invaded Cambodia".

The fact is that Bush was rather like the sort of software manager who pressures the programmer to get it done and ignore good style. This was clear when his minions bullied competent midlevel intelligence operatives for the "right" answers.

4. In 1976, I said (in an article in Computerworld) that "virtually structured programming" could be done in any language: but thank you for saying it again.

Trystan | Wed, 08 Apr 2009 22:31:53 UTC

Honestly I must say I find this all rather rehashed and vacuous. Articles that state essentially the same thing surface year after year on blog after blog. Particularly annoying is "I know bad code when I see it." How can you say it's just code unfamiliar to you that you interpret as 'bad' due to its unfamiliarity. Perhaps there's a perspective that you're unaware of that, if you were to come to understand it, would make it 'good' code.

What is needed is objective metrics regarding some of the aspects you state, such as a language's effect effect upon cognition (the Whorf-Sapir point). I really see no point to stating personal opinions regarding coding style other than to identify those who you do not wish to work with.

Walt | Wed, 08 Apr 2009 15:51:26 UTC

Good article except for the political satire (i.e. Bush and WMDs). Why do you want to take jabs that will inevitably irritate if not offend a subset of your readers? It detracts from your message. Save the politics for the editorial page of your local news paper.

Leave this field empty

Post a Comment:

© 2018 ACM, Inc. All Rights Reserved.