a companion discussion area for blog.codinghorror.com

ASCII Pronunciation Rules for Programmers


At work we use Ruby, and we have weekly code reviews. Usually, the line of code is spoken, for example:

if foo.exists?

instead of saying “if foo dot exists question mark” we read it like you would read a sentence, raising the tone at the end of “exists” – like asking a questsion.

Of course, we need to drag out exists to exiiiiiists and shift the tone up an octave or two :wink:


“Oh man, I don’t even want to go there – there have to be completely different rules for multiple character ASCII sets.”

You have to go there, if you’re talking about reading code aloud.

In a C++ context, I’ve heard “link” for -, and “sub” for ::.

“Gozinta” for the pipe character is a new one to me. A former colleague who cut his teeth on Delphi, though, said that when reading assignment expressions aloud—backwards:

a = a + b;

became “a plus b gozinta a” (but, confusingly,

a += b;

became “a plus equals b”).

Are you going to tackle the correct pronunciation of “char” next?



Though I haven’t been a native French speaker for 30 years, I would swear we called that (essential) part of French writing the “circonflex”.

Perhaps someone is confusing it with circumcision.


In Spain # is frequently called ‘almohadilla’ which could be translated as pad, cushion or small pillow.


In Argentina we share most of the pronounciations as written by the Colombian guy, except:

_ : guin bajo, or simply “underscore”
~ : tilde or “uflo”, also “viborita” (little snake)


: Numeral

% : Porciento / porcentaje

  • : asterisco
  • : (signo) ms
  • : (signo) menos / guin
    | : barra vertical, or “pipe”
    " : comillas / comilla doble
    ’ : apstrofe / comilla simple
    / : barra
    \ : contrabarra


My personal favorite for @ is ‘amphora’, pinned to a 16th century Italian merchant (if I’m remembering the possibly-apocryphal story right) who used the symbol as a short hand for ledgering up goods by unit volume – which seems to line up nicely with the Spanish “arroba” folks have mentioned already.


1000000.times {puts “thank you!”}
(dotimes (i 1000000) (write-line “thank you!”))

Why are you using “underscores, pipes, octothorpes, curly braces” for such a simple task? Your friend is right to question you! :slight_smile:


iThe symbol wich gives me mmore headaches is the ~ symbol, mostly because no one uses it ever … The easiest way I found to explain it is by using the word “oflo”, which a fellow programmer invented:/i

You don’t have to invent a name for it ‘~’ has a name - tilde.


Must not spend a lot of time in shell …


Luc M

  • I like the suck and blow symbols…
  • Does really someone use these pronunciation?

Yes, for harmonica notation (you get different notes from the same hole depending which you do)

Also, there must be a right single quote if there’s a left one, surely?


In America there is no “common name” for the . We simply never have to describe that symbol. Occasionally it may be useful to express a price in British pounds, but you don’t need to name the symbol for that, you just refer to the money in a normal casual way. (“Amazon dot co dot yoo-kay has that for fifty pounds. That works out to approximately a million dollars.”)
On the very rare occasions when I do need to describe that symbol, there’s no need for a short, quick way to say it, so I just describe it fully : “The symbol for the British Pound”

(By the way, I’m not defending our crazy habit of calling “#” “pound”. I’m just answering PJH’s question. )


M’colleague Maf decided that [0]- (used to double-dereference inline in C on the Mac, when we had Handles) was pronounced ‘sprong’ - an excellent idea.
A Handle is a pointer to a pointer, used so that memory could be reallocated before we had MMU’s - if you have nested data structures in Handles, sprong is much clearer than the alternatives GetMainDevice()[0]- gdPMap[0]- pixelSize instead of (** (** GetMainDevice() ).gdPMap ).pixelSize


The subject of pronouncing = in lambda expressions came up on Eric Lippert’s blog a little while ago:


He suggests “goes to” and mentions “becomes” or “such that” as alternatives. Personally, I use “goes to”, but there are some other interesting possibilities in the comments there.

Interesting topic. Pronunciation is one of those invisible things, you don’t really notice the way you pronounce something until someone you’re talking to doesn’t know what you’re talking about.


re: Jheriko

Silly Brit. A pound is a unit of measurement, while a pound sterling is a unit of currency (although the two are closely related). The number sign was formerly used for indicating weight, e.g. 5# = 5 pounds. Hence, we call it the pound sign. I like how in choosing between harboring mild anti-American sentiments or, say, doing a Google search, you chose the former. :slight_smile:



I say “paren-paren” for ()


Heh, in portuguese we call @ “arroba” which is a weight measure used for livestock.



The | character has a special name for its use in logic, the “Sheffer stroke” ( http://en.wikipedia.org/wiki/Sheffer_stroke ), where it represents what would normally be called NAND (confusingly, in C-family languages, | tends to mean OR).


Some other language (Haskell) specific pronunciations would be :: read as “has type” and - read as “to” …

map :: (a - b) - [a] - [b]

This is usually pronounced “map has type, function from a to b, to list of a to list of b”.

Of course, I wonder why nobody has suggested the language-agnostic “[right] arrow”, “[right] double-arrow”, “left arrow”, “left double-arrow” for -, =, -, = respectively.


I started a Google Document for the localization of these pronounciation rules, and added the Dutch language:


I was aghast at the lack of “store” for “!”. But on the extended version in the link it is present.


In the Netherlands @ used to be ‘apenstaartje’ which i guess in English would be monkeytale. But since email has become common, more and more people use the English ‘at’.

^ is a ‘dakje’, a roof.

Oh yeah, and # is a ‘hekje’ here, a fence. You know, b’cos it really looks like the fence of your front garden…

The ‘-je’ at the end of each word means that the thing you describe is small. So actually it’s small monkeytale, small roof and small fence.