Download PDF version of this article PDF

To submit a letter, e-mail us [email protected]

Won’t that String Ever End?

Being German, I love the unsurpassed combinatorial possibilities of our language. Stan Kelly-Bootle’s “From this Moment On” (June 2004), however, contains a construction, “Entunternehhmangenausstreckenisierung,” that defies my linguistic capabilities. Ent... what?

Bernd Gliss, Stuttgart, Germany

STAN KELLY-BOOTLE RESPONDS: My reply, using the pseudonym Wriggeletto, is in three parts divided:

1. I actually wrote Entunternehmangenausstreckenisierung, so I can see why you are puzzled by Entunternehhmangenausstreckenisierung, which is not the same thing at all. Is that extra “h” a subtle boost for your founder (Planck’s constant)?

2. Lurking behind my agglutinative Überschwang is the idea of avoiding the GOTO (considered dangerous by Dijkstra and Knuth). My parsing would be: Ent (dis-, not); unternehman (attempted action); genau (exact); s (euphonic transitory); strecken (span, spread, stretch, as in groping for a distant label); isierung (a useful Germanic abstract-string terminator!). QEF.

3. To paraphrase Humpty Dumpty, when I use Entunternehmangenausstreckenisierung, it means exactly what I intend.

Zu Neuen Taten!

 

Comments on Commas

In response to Jef Raskin’s “For Want of a Comma, the Meaning Was Lost” (July/August 2004):

There is a report that back in the 1960s or 1970s, a rocket went out of control and had to be destroyed at a cost of (then) $18 million. The cause was a single missing comma in the source code of the software that controlled the rocket.

In fact, the use of a comma is critical in at least one language, Fortran, where the following two statements:

DO 200 I = 1.5 and DO 200 I = 1,5 are both legal because Fortran ignores blanks in a statement. The first one (almost certainly erroneous) assigns the value of 1.5 to the variable DO200I. The second (the far more likely case) creates a loop from 1 to 5 on the control variable I. The difference between the two statements is that the first has a period and the other has a comma. As both characters are next to each other on the keyboard, this kind of mistake could be easy to make and difficult to find.

Indeed, commas can be extremely important—and can result in an expensive mistake if missing.

Paul Robinson, Washington, D.C.

JEF RASKIN RESPONDS: Paul Robinson implicitly asks the excellent question of how one would design a programming language to use punctuation in the most humane way. We can add to his demonstration that humans do not deal well with languages that ignore blanks with this: In an interactive Basic that tried to help the user a bit too much, I started to type FOR I = ATOM TO MAX but I only got up to the first “M” when what I had typed was automatically expanded to FOR I = A TO M.

The world has shifted radically on this point, and probably for the better. The currently popular Python not only does not ignore blanks, but also makes them syntactically meaningful both to the interpreter and to the human eye when used to indicate nested structures. Thanks for publishing Jef Raskin’s insightful commentary on commas. It’s a world-class job.

Tony Brezovski, Lancaster, Pennsylvania

 

Errata

Two figure sources were not acknowledged in Jim Morrison’s “Blaster Revisited” (June 2004). The source for figure 1, Filtered TCPDump Logging, is the online write-up “W32.Blaster.Worm” (http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.worm.html), by Douglas Knowles, Frederic Perriot, and Peter Szor. The source for figure 3, Network Packet Sniff Report?, is the online write-up “Detecting network traffic that may be due to RPC worms” (http://securityresponse.symantec.com/avcenter/venc/data/detecting.traffic.due.to.rpc.worms.html), by Frederic Perriot.
We edit letters for content, style, and length.

acmqueue

Originally published in Queue vol. 2, no. 7
Comment on this article in the ACM Digital Library








© ACM, Inc. All Rights Reserved.