
ASCII Pronunciation Rules for Programmers [2008] - franze
http://www.codinghorror.com//blog/2008/06/ascii-pronunciation-rules-for-programmers.html
======
jazzyb
When I first started programming, I didn't know which of the two symbols / or
\ was "forward slash" or "back slash", so I got into the habit of calling them
"uphill" and "downhill", respectively. I still tend to use those terms when
I'm working with people who aren't computer savvy, and those terms tend to be
a bit more intuitive and help avoid confusion.

~~~
jpadkins
uphill and downhill assume going left to right. forward slash and backslash
both assume going left to right.

How is this an improvement?

Maybe call them right-slash and left-slash, with the lean prefix implied? This
would probably help our right to left language friends.

~~~
jazzyb
I'm a little ashamed to admit it, but I always had a hard time remembering
where the "hinge" was on the slashes.

Let me explain: Assume that the slash begins like a pipe |. If the slash has a
hinge at the bottom (like most people intuitively assume), then / is "leaning
_forward_ " and \ is "leaning _back_ ". However, if, when you look at the
slash, you assume the hinge is on the top, then it looks like / is "swinging
_back_ " and \ is "swinging _forward_ ".

So until I figured out where people were putting the "hinge", "back" and
"forward" seemed arbitrary. I know it sounds strange, but it was a great
source of confusion for me.

Edit: The phrase "lefty loosey, righty tighty" also confused me until I
figured out that "left" and "right" were relative to the direction that the
_top_ of the screw/bolt moved, not the bottom.

~~~
lambda
It has nothing to with where the 'hinge' is. '/' is just 'slash'; it's the
only one that existed before computers. '\' was invented so you could write
the mathematical symbols for 'and' and 'or' as /\ and \/. Since it is a
backwards version of the slash, it was named 'backslash,' and 'forward slash'
later came about in analogy with 'backslash.'

------
realugglan
Around ten years ago I worked as an instructor teaching people programming
here in Sweden. My company decided I did such a good job they would send me
over to their parent company in the UK to teach some classes there. I knew the
material by heart so, no problem, I thought.

I quickly discovered, right in front of the class at the white board with
marker in hand, with my first " { " written, that being fluent in English was
NOT the same as being fluent in Spoken Programmer English.

My second realization was that almost nobody in the United Kingdom spoke a
dialect of English that I could comprehend, but that's another story.

Bonus info: { } are called commonly called måsvingar/seagull wings in Swedish,
which really gave me no hint at all what to call them in English.

~~~
mryall
Swedish also has a funny name for the @-sign, named after the trunk of an
elephant. In fact, quite a few languages do. Here's a short sample from the
Wikipedia article:

 _In Swedish and Danish the sign is known as the "snabel a" (literally trunk
a), owning to the resemblance between the sign and the trunk of an elephant.
In Norwegian the term most commonly used is "krøllalfa" (literally: curled
alpha). In Greek the sign is known as "papaki" meaning small duck. In
Slovenian, the most common word for it is "afna", colloquially meaning
"monkey", much like in Polish. In Hungarian, it is called "kukac" meaning
"caterpillar"._

<http://en.wikipedia.org/wiki/At_sign#Names>

~~~
kilian
And in the Netherlands, we call it a ape's tail (we use 'ape' both for monkeys
and ape's.)

~~~
ajarmoniuk
In Poland it's very often simply called "ape" (often giving e-mail addresses),
before I often heard "elephant's ear".

~~~
Derbasti
Some people in Germany call it 'Klammeraffe', which would roughly translate as
'an ape that clings to something' or 'spider monkey'.

~~~
Maakuth
Finns often call it "miumau" (meow meow) because it looks like a cat's tail.

~~~
Vivtek
Hungarians call it "kukac" = worm because it also looks like a worm.

I think I'm going to start calling it cygnus because it looks like the
accretion disk of a black hole.

------
AnthonyJBentley

        <> !*''#
        ^"`$$-
        !*=@$_
        %*<> ~#4
        &[]../
        |{,,SYSTEM HALTED
    

Pronounced:

    
    
         Waka waka bang splat tick tick hash,
         Caret quote back-tick dollar dollar dash,
         Bang splat equal at dollar under-score,
         Percent splat waka waka tilde number four,
         Ampersand bracket bracket dot dot slash,
         Vertical-bar curly-bracket comma comma CRASH.
    

<http://www.ascii-art.de/ascii/pqr/poem.txt>

------
spatulon
Another source of confusion is the meaning of the word "brackets":

    
    
      +----+-----------------+-------------+
      |    | []              | ()          |
      +----+-----------------+-------------+
      | US | brackets        | parentheses |
      | UK | square brackets | brackets    |
      +----+-----------------+-------------+

~~~
meric

      | AU | square brackets | parentheses |
      +----+-----------------+-------------+
    

:(

~~~
michaelcampbell
Is there nothing commonly called just 'brackets' in Oz?

~~~
meric
In high school, my maths teachers all insist ( ) are `parentheses`.

The sibling post's author thinks that ( ) are brackets.

Clearly there are two different populations here. That's why the need to
explicitly specify which "brackets".

------
zorked
` as backtick is rare? I thought it was the standard.

~~~
magicofpi
Where are you from? I've actually never heard it before (in the US).

~~~
_delirium
I'm from the US, but I think I know it almost exclusively from Unix shell
scripts and Perl documentation, where `foo` is called the "backtick operator".

~~~
michaelcampbell
Yes, I think it could be your (our) tech context more than geographical; I
came up through the unix and perl worlds and am in the US, and have ONLY ever
seen that as 'backtick'.

------
jankassens
It's also in (and probably a copy of) the Jargon File:
<http://www.catb.org/jargon/html/A/ASCII.html>

~~~
jcl
Yes, The New Hacker's Dictionary is a distillation of the Jargon File. Both
are maintained by Eric S. Raymond.

------
wanderr
One of my co-workers uses "cash" for $. I think that's the worst possible
choice for pronunciation since it sounds just like "cache", which is another
thing you need to talk about fairly frequently.

~~~
pavel_lishin
Also could easily be mistaken for "hash".

------
kami8845
This is a blessing for, I imagine, everyone who has learnt computer
programming in a non-English-speaking country.

------
DTanner
I work with French programmers, so that opens an entire other can of worms.
Colon becomes "two points" and semi-colon becomes "point comma".

~~~
fbu
As a French speaker it make total sense to me; it just describes it.

I just searched quickly how to explain that the semi-colon is somehow half a
colon. I couldn't find anything.

~~~
michaelcampbell
I'm not a French speaker, but those terms make perfect sense to me also, even
though I've only just heard them here for the first time.

------
RodgerTheGreat
It's a little silly, but I've pronounced a '{' or '}' as a 'curly brace' ever
since I played Cave Story[1], in which one of the main characters has that
name. Before that, I think I called them 'curly brackets'.

[1]<http://en.wikipedia.org/wiki/Cave_story>

------
nik61
I refer those interested in this topic to the INTERCAL character naming
conventions, now hallowed by tradition and skirting the edge of madness. As a
taster . is one-spot : is two-spot , is tail and ; is hybrid. # is mesh. <\-
is known as an 'angle worm' and is pronounced 'gets'. It goes on from there.

~~~
jcl
These are in Jeff's chart. And really most of them shouldn't be: they aren't
"rare" pronunciations -- they're non-existent pronunciations. Nobody uses
them, except to point out how silly INTERCAL is. And rightly so, since
INTERCAL was created to be unusable.

However, there are a couple that, despite the INTERCAL authors' best efforts,
have entered common usage, according to the chart: "mesh" and "splat".

------
djacobs
I don't know if I would call this a "pronunciation guide", in the sense that
it doesn't tell you how to actually stress the syllables or say any particular
letters. Instead, it's more of a "naming guide" or "verbalization guide" for
glyphs that don't map to specific vocal patterns.

Nitpick? Yes. This is HN, after all.

------
crgwbr
So am I the only one who calls "-" a tack? As in chmod tack R

~~~
michaelcampbell
Never heard that one before. "dash" or "minus" is all I've ever come across.

~~~
nailer
Minus always annoys me, because it's long and most times (e.g., chmod <dash>R
)you're never actually minusing anything. *

* Some Solaris commands use plus and minus to add and subtract things, but a) everyone hates Solaris commands b) this breaks with convention, hence a).

~~~
Dylan16807
I suppose 'minus' makes things slightly longer, but is there a way to
distinguish between R and r without three extra syllables? Both are likely to
come up when chmodding.

~~~
nolanw
"Big 'r'" and "small 'r'"?

------
ch0wn
No reference to {} as mustaches? Three years are a long time.

~~~
danparsonson
I've always called them 'curly brackets' which, on reflection, is a little
like calling a keyboard a 'typey box'. Funny how long you can do something
without really questioning what you're doing!

~~~
sp332
I call them curly brackets {} to distinguish from square brackets [] and angle
brackets <>.

~~~
danparsonson
I'm a self-taught coder with no formal CS training, and as such have found
over recent years that I've been lacking (among other things) some of the
appropriate vocabulary to talk about programming unambiguously.

Consequently, I'm always on the look-out for more formal and concise terms
where previously I may have used more simplistic language - in this case,
'braces', 'brackets' and 'parentheses' struck me as being the best way to
describe {}, [] and (), compared to curly, square and normal brackets (as I've
likewise always called them). <> will have to remain angle brackets though I
think.

------
atomicdog
Some people pronounce "?" as "Huh"?

Might as well call it a "WTF mark".

~~~
m_myers
Surely you're thinking of the interrobang‽

<http://en.wikipedia.org/wiki/Interrobang>

------
bostonpete
I have trouble believing that "apostrophe" is more common among programmers
than "single quote"...

------
program
In a standard italian keyboard layout the '\' is placed between TAB and ESC,
and '/' is shift+7.

A lot of people think that '\' is the slash and '/' the backslash leading to
some confusion among non-programmers (and some escaped characters here and
there.)

------
jxcole
A related article:

<http://news.ycombinator.com/item?id=1181243>

Openstache and closestache are two very good names for { and }, primarily
because they are shorter.

------
JoeAltmaier
"Ampersand" is apparently a corruption of "and per se and" which was the (now
extinct) last line of the Alphabet Song a hundred years ago. Anybody can
corroborate?

~~~
Jebdm
[http://www.etymonline.com/index.php?search=ampersand&sea...](http://www.etymonline.com/index.php?search=ampersand&searchmode=none)

------
davvid
He should have also listed "#!" AKA "shebang" / "hashbang"

~~~
dan_manges
There are also many different ways that people pronounce -> and =>, although
it might vary depending on programming language.

~~~
pavel_lishin
How do you pronounce it?

I usually say "arrow", or "dash-greater-than"... but come to think of it, I
very rarely have to ever actually say this.

~~~
RickHull
=> is known as a _fat comma_ or a _rocket_ in Ruby circles.

~~~
pavel_lishin
Rocket makes sense, but fat comma?

~~~
onedognight
In Perl "=>" is (almost) a comma, i.e. { a => 1, b => 2} is the same as { "a",
1, "b" , 2 }. I assume Ruby with its Perl heritage has this to some degree.

------
Vivtek
Extra points for listing the INTERCAL names!

------
billpg
It annoys me when people on TV use "forward slash" when reading out URLs.
Makes we want to tell people that URLs never use backward-slashes!

~~~
mtogo
Never?

~~~
billpg
RFC 1738

Other characters are unsafe because gateways and other transport agents are
known to sometimes modify such characters. These characters are "{", "}", "|",
"\", "^", "~", "[", "]", and "`".

All unsafe characters must always be encoded within a URL.

