Something that came up in conversation the other day: the English language is annoyingly badly designed for programmers.
The most obvious example of this is that almost any pair of words you can think of to represent boolean values have different numbers of letters, so that it's inconvenient to line them up in tabular layouts in a fixed-width font. TRUE
/FALSE
, YES
/NO
, ON
/OFF
. All of them out by one. Even if you look further afield to things like YEP
/NOPE
and YEAH
/NAH
, you don't find a matching pair. AYE
/NAY
works, but it's a bit specialist in its connotations (it suggests there's a vote taking place) as well as archaic. This is just useless. French can find OUI
/NON
with no difficulty at all (although I have no idea whether French programmers actually use those for booleans), so why can't we manage one pair of suitable words that are the same length?
(Some years ago,
lark_ascending and I gave some thought to this, and the best we could come up with was VERILY
/NOWISE
, which is even more archaic than AYE
/NAY
. However, it does have the advantage of allowing MAYHAP
to be inserted in the middle if the application demands it.)
Another annoying thing is that one of ‘width’ and ‘height’ shares an initial letter with one of ‘horizontal’ and ‘vertical’ – and it's the wrong one. So if you're looking through some code which has dimensions in it, and you encounter a variable called h
, you can't be sure which dimension it contains until you find out whether it's accompanied by v
or by w
. I suppose we can at least count ourselves lucky that ‘width’ isn't spelled ‘vidth’, in which case we'd be even worse off.
It feels particularly unfair because these sort of accidents of language happen to work better in less programming-specific contexts. For example, the fact that ‘his’ and ‘her’ both begin with the same letter is very convenient for acronyms such as HMRC and HMG.
Also annoying is that I've been planning to post this rant for months, and have been delaying because I had a strong feeling that there were several other examples which I couldn't quite bring to mind. But they still haven't come to me, so I'm just going to have to post it like this and kick myself when I realise what they were moments afterwards…