Rendered at 23:09:44 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
chrismorgan 16 hours ago [-]
The submitted title
> The 'else' keyword is probably a literal translation from German (2020)
is editorialised, inaccurate, and very misleading.
The actual title: “if … then … else had to be invented!”
And the content doesn’t say anything about it being a literal translation from German; rather:
> What they do say is that this document was originally written in German and hastily translated into English. I think a carefully-chosen German word was probably translated as an archaic English word and then never revisited.
Wild speculation, and definitely nothing about literality of translation.
As for the author’s description of it being archaic, well, I’d call that misleading too. Bare “else”, arguably (definitely not colloquial in most dialects), but as “or else”, perfectly current.
Seems perfectly reasonable to me that someone considered the options, decided “otherwise”, “or else” too wordy and confusing in its own way, and so settled on bare “else” as the best choice (which I think it is), not how people mostly speak, but perfectly legitimate, and concise.
(In other words: I think we’d have settled on “else” even without the possible German step. This too is speculation, of course.)
dang 6 hours ago [-]
Yes—it was a good submission, but the submitted title ("The 'else' keyword is probably a literal translation from German (2020)") broke the site guidelines badly, and this thread shows what a dramatic effect that can have on the comments.
We've reverted it now, so perhaps nature will heal itself, but it's amazing what an effect titles have on discussion. That's why, on HN, titles are not the prerogative of the submitter: "Please use the original title, unless it is misleading or linkbait; don't editorialize." - https://news.ycombinator.com/newsguidelines.html.
Submitters: If you want to say what you think is important about an article, that's fine, but do it by adding a comment to the thread. Then your view will be on a level playing field with everyone else's: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&so...
(Fortunately, this doesn't seem to be a pattern with theanonymousone's submissions. At least not from the random sample I took a quick look at.)
js2 4 hours ago [-]
Previous submissions (presumably submitted under original title) to compare discussions against:
The current submission is from 4 days ago and must've been placed in the second-chance pool.
theanonymousone 6 hours ago [-]
It was me. I'm sorry for the confusion caused by this.
My interest in the article was in the German link of the word, so wanted to really emphasize that. I made a mistake it seems, if only by not simply saying ".. was probably a german translation"
flohofwoe 15 hours ago [-]
The most likely German candidate would be 'sonst', which would be both in common use and short enough for a programming language keyword. E.g. the most likely option for 'if-then-else' is 'wenn-dann-sonst', assuming that German-origin theory is right of course.
One thing that's mostly forgotten today is that German had a very rich 'corpus' of wonderful nerdy computer science words up until the 1990s which unfortunately has fallen out of fashion. Nowadays it's a pretty terrible 'pidgin dialect' when Germans talk about programming and computers to each other (to a point where it's much less awkward to just speak English in the first place lol).
weinzierl 15 hours ago [-]
Not sure what the original German version was, but
falls-dann-sonst
would be more correct, since "wenn" is temporal, like the English "when".
Many Germans often use these wrongly in everyday speech, but mathematicians like Friedrich L. Bauer probably wouldn't.
manuel-rhdt 15 hours ago [-]
As a German, my experience is that the typical use of "wenn" is more often synonymous to the English "if", rather than the English "when". The meaning of "wenn" is contextual. Using "wenn" to for conditionals is not a mistake of everyday speech but rather a feature of the language.
The other German word "falls" is sometimes also translated as "if" but it carries a slightly different connotation. In typical use "falls" is used for an unlikely condition: "falls es morgen regnen sollte" -> "if it were to rain tomorrow". If "wenn" was used instead of "falls", the connotation would be more like a 50/50 probability. In the end, the if/when split of English is really not the same as the falls/wenn split of German. For computer programming "wenn" would likely have been preferred by German programmers.
weinzierl 12 hours ago [-]
Interesting. As a native speaker I always thought that "wenn" for the conditional case was only colloquial, but I couldn't find any real evidence for that. So, you are right about that and also about what you said for "falls".
stavros 14 hours ago [-]
I always understood "falls" as "in case" (as in, preparing for a slightly unlikely outcome), but my German is weak.
1718627440 13 hours ago [-]
Yeah, you can expand "falls" to "in dem Falle, dass".
cyxxon 15 hours ago [-]
Nitpick: "wenn" is both temporal and conditional, whereas "falls" is only conditional, therefore it is considered good style to use "falls" if you want to make totally clear what you mean. It is, however, perfectly fine to use "wenn" for a konditionalen Nebensatz.
flohofwoe 15 hours ago [-]
Yeah, but "wenn-dann-sonst" rolls better off the tongue ;)
b3orn 15 hours ago [-]
> since "wenn" is temporal, like the English "when".
Nope, "wenn" is both "if" and "when", it's not limited to time.
9 hours ago [-]
yayachiken 4 hours ago [-]
Also the rest of the remainder-case definition looks like a typical mathematical "Fallunterscheidung" in German.
Fall a1): Es gilt ... falls x < 0,
Fall a2): Es gilt ... falls x = 0,
Fall a3): Es gilt ... sonst.
Definitely have seen it written like that in mathematical proofs, you can even leave "Es gilt" and just write your proposition.
On paper I would probably have placed a Halmos after sonst due to muscle memory lol.
Also if you threaten somebody with an "or else..." it works the same in German "sonst..."
xg15 5 hours ago [-]
Still remembering the Kellerautomat from my CS class...
EDV - maybe a less glitzy term for "tech" - is still used occasionally by Gen-Xers.
wjnc 15 hours ago [-]
As a non-native speaker of both English and German, I feel a little difference in usage. I liked this bit of slop:
‘The most significant nuanced departure is that "sonst" can mean "normally," "usually," or "in general," contrasting a specific event against a baseline of normality. "Else" cannot do this.’
There is an etymological root to ‘sonst’ that is also the root of English ‘thus’. The German explanation would fit well in this story (but indeed no evidence presented).
flohofwoe 15 hours ago [-]
Hmm, to me as native speaker, 'sonst' has pretty much only one meaning which is pretty much exactly 'or else'. There's a longer and 'more archaic' version 'ansonsten'.
wjnc 15 hours ago [-]
Forgive me for trying it out on you:
“Er trinkt heute Kaffee, sonst trinkt er nur Tee.”
flohofwoe 15 hours ago [-]
It's often used for more immediate 'consequences', like "Ich muß los, sonst verpass ich meinen Zug" (I need to leave, otherwise I'll miss my train).
secretsatan 15 hours ago [-]
I worked on a GIS system in a german speaking company, it was very confusing, it was mostly programmed in english, apart from the things we we’re modelling, which had extremely specific and often long german names.
gavmor 15 hours ago [-]
I can't think of anything else.
15 hours ago [-]
crooked-v 15 hours ago [-]
I would expect there''s plenty of pre-computer media with phrasing along the lines of "Do/don't do X, or else Y will happen."
lukasgelbmann 5 hours ago [-]
What you probably won’t find, though, is the programmer’s else: “If X, Y. Else [meaning: if not X], Z.”
slu 17 hours ago [-]
Else is a given name in Denmark (a variation of Elsa, I'm guessing). At university we had a professor with the surname True; so if he had a daughter, her name could've been Else True. We found that quite funny.
Else If would also be a possible name in Denmark.
But, according to Statistics Denmark[1], none of those combinations exists:
Women with the first name 'Else' 13,047
Men and women with the last name 'True' 166
No one has the name 'Else True'
Women with the first name 'Else' 13,047
Men and women with the last name 'If' 6
No one has the name 'Else If'
You'd translate the "else" keyword to "ellers".
"if then else" => "hvis så ellers"
Related, the word "or" would be translated to "eller" (without the 's')
"and or not" => "og eller ikke"
internet_points 14 hours ago [-]
Men with the first name 'Odd' 72
Men with the first name 'Even' 73
Men and women with the last name 'Even' 11
sherr 16 hours ago [-]
Also in the English speaking world, but getting rare: Elsie.
vintermann 16 hours ago [-]
I think most Elsies were originally Else, or had a mother or grandmother named it. In Germanic languages the final E is not silent as in English, so you have to spell it Elsie for English people to pronounce it approximately right when they read it off the page.
klelatti 5 hours ago [-]
Elsie was quite a popular name in the 1920s in the UK and US - the 65th most popular in the US [1] in that decade - so I think it's very unlikely most of those 42k Elsies had some relationship with an Else.
Elsie would be a completely wrong way of transcribing Else in most Germanic language.
Elsa would be closer.
Or “Elseh”.
vintermann 14 hours ago [-]
Elseh I'll grant, but it feels a lot less natively English, and you can't count on an American clerk or census taker to care about accurate transcription. It may have been closer to "that's not a name in English. Pick either Elsie or Elsa".
And yeah, Elsa was common too.
weinzierl 12 hours ago [-]
Elsie sounds more like a German diminutive or pet name of Else than a strict transcription.
GiveOver 15 hours ago [-]
It's in the top 10 baby names in the UK
14 hours ago [-]
emayljames 17 hours ago [-]
I don't know if the article writer is north American, or possibly not familiar with traditional/native English, else they would know they are completely wrong it not being English.
eesmith 16 hours ago [-]
The author didn't say it was not English.
The author wrote: "I can't use "else" as a conjunction in normal speech, only in computer programs."
No doubt people use 'else' as a conjunction now, due to the influence of programming.
To show the author is completely wrong requires finding pre-1959 uses of 'else' in a conjunction.
Google ngrams shows 'else' being used fairly consistently up until about 1880 after which it gradually declines. In the 2000s it rapidly picks up, probably because of the programming influence.
Looking at the actual texts, there are a few German ones listed. Plenty with "someone else", "nothing else". Quite a lot with "or else", for example: "Yea , but what am I ? a scholar, or a schoolmaster, or else some youth".
eesmith 13 hours ago [-]
Ngrams only shows the overall use statistics, and not how "else" is used.
Adjective: When all else fails, read the instructions
Adverb: How else can it be done?
Conjunction: Then the Wronskian of f and g must be nonzero,
else they could not be linearly independent.
The claim is, I believe, that the conjunction form (the third one) does not predate its use in programming.
The "someone else" and "nothing else" examples you listed are the adjective form.
The "or" in "or else" is the conjunction, not the "else".
You should be looking for something like " "Yea , but what am I ? a scholar, or a schoolmaster, else some youth".
Another thing to check would be if earlier uses were only in binary exclusive cases, like "One if by land, else two if by sea", or also with 3 or more terms, like "One if by land, two if by sea, else three if by air."
I don't know how to carry out this sort of search.
verzali 11 hours ago [-]
It appears to be rare without the "or", at least from the searches I was able to do.
I did find this example, however:
> "My brother is poor, and I want to look as much like him as I can, else he may feel distant from me."
From Mill on the Floss, published by George Eliot in 1860.
I think even as a conjunction it was used more as a counterfactual (similar to "lest"), rather than as an alternative option (akin to "otherwise") the way it is used in programming.
It was this comment what made me realize #:~:text= in the URL isn't some custom, per-site JS hack or a weird way to name your anchors, but actual standard[0] way to link to a text on any page.
Chrome and derivatives have a "Copy link to highlight" context menu, which also adds some text surrounding the highlight, but I removed that since it only has a single occurrence.
n_plus_1_acc 15 hours ago [-]
Newer firefoxes have that too
cowlevel 9 hours ago [-]
variable_dump is a bit rude, should be instead variable_answer_the_call_of_nature
PHP stands for Perchance Half-witted Politeness
divbzero 19 hours ago [-]
‘Else’ is not commonly used in English today but the meaning does fit. From Webster’s (1913):
Else, adverb or conjunction
1. Besides; except that mentioned; in addition; as, nowhere else; no one else.
2.
Otherwise; in the other, or the contrary, case; if the facts were different.
“For thou desirest not sacrifice; else would I give it.” – Ps. li. 16.
After ‘or’, else is sometimes used expletively, as simply noting an alternative. “Will you give thanks, … or else shall I?” – Shak.
IanCal 15 hours ago [-]
> Else’ is not commonly used in English today
I feel like I’m going crazy reading this thread today. Else is not a rare or archaic word.
tombert 4 hours ago [-]
Yeah; way before I knew how to program I would still say "He said do this or else!"
zarzavat 16 hours ago [-]
Else doesn't sound archaic to my ears.
"When you go shopping make sure to buy flour or else we won't be able to bake the cake"
"otherwise" is a more common word choice but "else" is definitely in the active vocabulary of modern English speakers.
jolmg 16 hours ago [-]
"or else" is redundant. One can omit one word or the other and it still works.
> When you go shopping make sure to buy flour, or we won't be able to bake the cake.
> When you go shopping make sure to buy flour, else we won't be able to bake the cake.
EDIT: TIL: Dictionaries don't commonly define "else" as a conjunction, except for Wiktionary. Still sounds natural to my ears, so this is a surprise.
jolmg 31 minutes ago [-]
It occurs to me that this would be similar to "so" no longer being a conjunction and people instead using "and so".
> Make sure to buy flour, and we'll be able to bake the cake.
> Make sure to buy flour, so we'll be able to bake the cake.
> Make sure to buy flour, and so we'll be able to bake the cake.
chrismorgan 16 hours ago [-]
That’s “or else”. Bare else is no longer common.
shawabawa3 15 hours ago [-]
Someone else might disagree with that
chrismorgan 6 hours ago [-]
That’s not bare else.
cowlevel 9 hours ago [-]
There's also "everything else" and similar phrases
isityettime 18 hours ago [-]
You can also say "elsewise", which to me still sounds a little old school, but more natural than just using "else" like we do in programming languages.
It's almost tempting to reach for "elsewhen" or "elsewhy", since we have "elsewhere". But if saying "elsewise" feels like chatting with a very elderly relative, saying those ones feels more like a seance with distant ancestors. But apparently it used to be a thing!
"Else" is definitely extremely commonly used in English today, just not in the US. The UK says "else" instead of otherwise. "We'll see if the bar is open, else we can go across the street".
kbelder 1 hours ago [-]
It's not uncommon in the US. I'm confused why people think so. It must be regional or cultural variation? Maybe you know it if you're over 35, else not?
TulliusCicero 17 hours ago [-]
Except for the phrase "or else!"
mapontosevenths 17 hours ago [-]
I came here to say this.
I my head as a child I instantly understood and thought "Ahhh, they mean like 'OR else this happens.'
I have always assumed it was a boolean logic thing meant to help show that it wasn't an AND, but 'or' had already been used as a keyword so they did 'or else' and dropped the reserved 'or'.
secretsatan 15 hours ago [-]
It’s often used as a threat, without specifying the threat, do this, or else!
Braxton1980 15 hours ago [-]
"...or else you'll..."
akersten 19 hours ago [-]
> I can't use "else" as a conjunction in normal speech, only in computer programs.
sure you can. who's going to stop you?
wvenable 19 hours ago [-]
Hurry up, else we'll be late.
You'd better leave now, else you'll miss the bus.
Do what I say, else there'll be trouble.
tetha 17 hours ago [-]
If the addressed person does not comply, you can also add "or else" in a threatening tone.
Such a funny movie.
15 hours ago [-]
stavros 14 hours ago [-]
That is exactly the correct UK usage.
quietbritishjim 12 hours ago [-]
I don't think that is normal UK usage. It sounds odd to me without "or" before the "else" in those sentences. From other comments here, that seems to be true for others too.
"Someone else" sounds correct but else isn't trying to act as a conjunction there.
roryirvine 11 hours ago [-]
More common in the North and Scotland, I think.
Scots (the Scots language, not Scottish English) tends to use bare "else" wherever "otherwise" is used in English, so I assume it's coming from the Northumbrian dialect of Middle English and leaks through to those dialects of Modern English with more Northumbrian influence.
stavros 12 hours ago [-]
That's how my UK friends speak. Maybe it's a regional thing?
It's always "or else" when used as a conjunction in modern English.
"Take your coat or else you'll regret it."
"Hurry or else you'll miss the bus."
Etc.
> if something is true, then do a thing, else do a different thing.
> That's just English, right? Except that it isn't
No, it is English, grammatically correct English. It's not idiomatic English but it's a perfectly fine sentence otherwise.
Idiomatic English would simply require adding an or
if(x)
do m
orelseif(y)
do n
orelse
do o
But of course a native English programmer would quickly recognize the or is redundant even if it is idiomatic, and drop it.
> I think a carefully-chosen German word was probably translated as an archaic English word and then never revisited
This is a weird reach. Else isn't an archaic word.
"Eat your dinner or else."
"If you don't do it someone else will have to."
Plus all the "or else" conjunction examples.
It was probably chosen because it was shorter than "otherwise" and not for any other reason.
vintermann 16 hours ago [-]
There were plenty of long English keywords in early computing: continue, dimension, equivalence, frequency, procedure etc. It seems it was mostly the Lisp folks who strictly shunned long keywords.
isaacfrond 17 hours ago [-]
It is nor far-fetched to suppose else is a translated German word because that is exactly what happened. The only question is which German word was is it.
esperent 16 hours ago [-]
> because that is exactly what happened.
No, it's what the author claims to have happened. I am strongly disputing their thesis as spurious.
mike_hearn 14 hours ago [-]
The document in question specifically says it is a rushed translation of a German document, what's in dispute here exactly?
esperent 13 hours ago [-]
The claim that "else" is an archaic word and hence a bad/rushed translation.
On the contrary it's a normal everyday word that makes perfect grammatical sense in the given context.
mike_hearn 10 hours ago [-]
You're arguing with the claim that else is archaic, but this sub-thread is about whether it came from a German translation.
10 hours ago [-]
hobo123 17 hours ago [-]
The only German that makes sense would be
wenn ... dann ... sonst
emayljames 17 hours ago [-]
I don't know if the article writer is north American, or possibly not familiar with traditional/native English, else they would know they are completely wrong it not being English.
stkdump 19 hours ago [-]
The modern universal keywords if, else, for and while are good because they are fairly short and thus quick to type.
GuB-42 3 hours ago [-]
I don't know if "quick to type" has ever been a reason?
Short words mattered in the early days, with punch cards, very limited memory and computing power, shorter words saved resources. Also, when running a program means handing a stack of punch cards to an operator and waiting for the result to come out the next day, saving a few seconds of typing probably wasn't a priority.
As computer got fast enough not to care about single bytes, there was a push against using shorter names. "be descriptive" they said. Also we had more advanced editors with copy-paste, search and replace, etc... If there was an objection for overly long variables, it was more about screen real estate than typing speed.
I'd say the case where it mattered would be interactive shells, UNIX shells in particular, because for DOS, commands were limited to 8 characters by the filesystem, another technical limitation. But then came completion, making typing speed not really an issue, but you still want to be able to fit your command in one line, because otherwise it is annoying.
So: technical limitation or readability rather than typing speed.
In fact, I think that's the most common alternative, not "else".
autoexec 18 hours ago [-]
"or else" works too but that's still three extra characters
justinator 18 hours ago [-]
"loop" can all be typed with one finger, as the letters are all together on the qwerty keyboard, and the "o" repeats itself.
"while" on qwerty is sort of a chore.
jolmg 17 hours ago [-]
When you can touch-type, it's better to have keys spread to use separate fingers. That way, you divide up the work. You have one finger still lifting while the other's already starting the next press.
justinator 16 hours ago [-]
Try it. What's faster to type: one word with a total of 5 distinct letters, or one word with a total of 4 letters, three being distinct?
I understand the theory when writing, you know: sentences. Writing code ain't that. I'm also not typing on a model M. This laptop's keys press down like 1 or 2mm at most. You actually only need to press down twice -- just move your finger from "l" to the "o" depress/press again for another "o" and move right over to the "p".
Do you reprogram your keyboard so parentheses, square/angle brackets, etc can be typed with their respective hands? Naw. When people type numbers all day, are they delighted to use the row of numbers up top, or a numpad? Never have I ever.
jolmg 15 hours ago [-]
I use one finger when typing "loop", because it doesn't make sense to do otherwise given how the respective keys are on QWERTY. That just means the word "loop" sucks.
Regarding parentheses/brackets, I said "separate fingers", not "separate hands". I do use separate fingers for parentheses/brackets.
The numpad is a weird thing. When I've (rarely) needed it for sustained number capturing, I do typically stick to one finger because it's easy to get lost with multiple. Not sure why. It could just be lack of practice with the numpad.
saltcured 5 hours ago [-]
For me, the "P" key is right at the split between zones. I probably (nearly?) always type "O" with my middle finger. But, the "P" is easily done with middle and ring fingers, and it seems like I may split the duty in many words.
It's hard to be sure, because I'm not sure how much I bias my movements by trying to monitor them while I do it! Normally I just type on auto-pilot, looking at the screen and not really being aware of the specific movements or finger duties...
I have a very idiosyncratic touch-typing method. I am self-taught with 40+ years of computer usage since grade school. There are arcing zones that are in the natural reach of different fingers, but with overlap where adjacent fingers can reach the same keys. I think my middle fingers are somewhat dominant, and may do more than their share of the total keypresses because of their dexterity and reach.
I have relatively large and flexible hands, so I span the keyboard by bending and reaching fingers rather than moving my forearms. The outer heel of my hands are statically parked on the palm rest or desk, and just the small joints in my hands and fingers are moving.
This parked posture is probably why I strongly prefer the Thinkpad "trackpoint" input device for general computer use.
opan 18 hours ago [-]
Usually for speed and avoiding strain you want to incorporate as many fingers as possible. In fact it's a common mark against dvorak online that "ls -l" is all typed with the right pinky (not an issue in the workman layout luckily).
fy20 17 hours ago [-]
Also remember this was typed with typewriters. That gives its own set of constraints. It's quicker to type two different characters than the same character twice in a row, as you need to wait for the typebar to return enough.
opan 15 hours ago [-]
This is a good visual to understand it intuitively but your finger itself has a similar issue. In rhythm games like Taiko no Tatsujin and Muse Dash you only have two distinct notes/lanes but you typically play with 4 (or more) keys. A group of 3 red notes in Taiko is way easier to play by alternating hands back and forth than by spamming one key as fast as you can with the same finger. This somewhat applies to Rock Band as well with alternating strumming being useful for long stretches of notes close together, but a lot of people just brute force their way past that without learning alt strumming. For Taiko I think the alternating is much more important and you won't last without learning it.
VMG 14 hours ago [-]
What matters is the token count and logprob. It hurts but it's true
stkdump 18 hours ago [-]
Using more fingers allows for faster typing.
Cordiali 15 hours ago [-]
There's a joke in here somewhere about machinists.
jibalt 17 hours ago [-]
w TAB in a properly configured emacs
justinator 16 hours ago [-]
Correct me if I'm wrong– I haven't check on THAT corpse– but couldn't you configure w TAB to be a shortcut for whatever you want (or make your own?).
alexfortin 18 hours ago [-]
I'm writing some Crystal (which has Ruby-like syntax) and I'd add `unless` to the list. I like it!
egeozcan 18 hours ago [-]
"Unless" feels like adding come-from (next to goto) to a language. A statement/flow should not change its meaning after being declared/written IMHO.
edit: My criticism is for the suffix version to be clear. Unless / else is actually cool.
jibalt 17 hours ago [-]
`destroy_world() if $angry;` is Perl syntax. And Python has `destroy_word() if angry else live_long_and_prosper()`.
(But it's not remotely like come-from.)
P.S. in re the other response, "unless" is "if not". "until" is "while not".
NooneAtAll5 17 hours ago [-]
wdym? "unless" is literally "while not", no come-from mechanics
amszmidt 17 hours ago [-]
“unless” is “if not” — it is not generally looping construct.
jibalt 17 hours ago [-]
`unless` came from Perl, Ruby adopted it, and so of course did Crystal.
amszmidt 17 hours ago [-]
”unless” already existed in early Lisps in the 1970s…
pasc1878 13 hours ago [-]
Also in BCPL from late 1960s
lazyasciiart 18 hours ago [-]
This guy better figure out how to use English, or else something bad will happen.
parasec 15 hours ago [-]
wild speculation indeed. According to Google Book Ngrams, the word "else" has been used in english books as far back as the tool permits (1500s) and can be found everywhere - from books to state calendars.
zacharyvoase 19 hours ago [-]
it was probably a rote translation of the German word ‘sonst’
ashton314 18 hours ago [-]
Das denke ich auch.
I found it strange (merkwürdig) that they didn’t mention this in the article.
tacker2000 17 hours ago [-]
Yes something like wenn…dann…sonst?
I remember I heard this structure at Uni at some point.
No. English has used else to mean "otherwise" since before computers came along. Wiktionary offers this quote from Call of the Wild (1903):
"He had never seen dogs fight as these wolfish creatures fought, and his first experience taught him an unforgetable lesson. It is true, it was a vicarious experience, else he would not have lived to profit by it."
There's also "or else", as made famous in crime dramas: "Meet me by the docks at midnight. Bring the money. Come alone. No cops... or else!" But in other usage it can of course be followed by something. "He had to get to work on time, or else he might be fired."
krautsauer 18 hours ago [-]
"or else" is right in the second image, and it's clearly not "else".
Even if it hasn't been invented as the author claims, the question of who used it in code first is a valid one, right?
well_actulily 18 hours ago [-]
[dead]
pram 19 hours ago [-]
Don’t even get me started on “elif”
YeahThisIsMe 18 hours ago [-]
That's a perfectly cromulent Turkish name.
tomrod 18 hours ago [-]
I like elif. It means exactly what I want it to mean!
lioeters 17 hours ago [-]
I also like iff and ffs.
ButlerianJihad 14 hours ago [-]
My first CSE class in college was two quarters long and self-paced. We could use the lab all we wanted. I somehow found out the logic and meaning of the term "iff" and so I found a way to appropriately use it in an answer to a quiz. I scored a bonus point, as the TA was impressed. She circled it and made a encouraging comment. I was so pleased to be an apt pupil in that class.
jibalt 17 hours ago [-]
I think the headline is nonsense.
I was going to mention the MAD language by Bernard Galler et. al. that used whenever/otherwise, which I encountered in a book in the local library back in the days when everyone was coming up with "structured" programming languages, but then I scrolled to the bottom of the article ...
deepsun 17 hours ago [-]
I remember it felt odd when XSLT code provided "otherwise" instead of "else".
dwd 17 hours ago [-]
What about Kierkegaard?
He wrote Either/Or or Enten – Eller in Danish in 1843.
Else in Danish is Ellers.
emayljames 17 hours ago [-]
I don't know if the article writer is north American, or possibly not familiar with traditional/native English, else they would know they are completely wrong it not being English.
stavros 14 hours ago [-]
Every single comment I've seen here seems to miss that, in the UK, "else" is the preferred word to use in these contexts.
"We'd better hurry, else we'll be late", or "I could go to a pub, else we can just stay home" is exactly the correct UK usage.
I guess the UK largely isn't up yet, hence this sort of comment missing.
fcarraldo 19 hours ago [-]
If something were to be true, then foo.
Or if this other thing were to be true, then bar.
If it’s something else, then baz.
hekkle 18 hours ago [-]
OR if is ambiguous, and wouldn't work like an 'else if' statement. I think you mean XOR.
rickdeckard 16 hours ago [-]
Nice article.
Funny enough, even though I know if/then/else by heart for decades now, I also spent a few seconds comprehending that 1960 arrow diagram of ALGOL60...
hommelix 18 hours ago [-]
Else can be found in English text prior to computer existence. Else can't be found in a German dictionary as a conjunction [1]. The first suggestion in Duden is the name for alder tree in lower German. Second suggestion is a firstname. If a word would come from German, it seems the first step would be to look up in a German dictionary.
While the look up for history of computer language is interesting, the conclusion is completely wrong.
The claim is that it is a literal translation, not that it is a loan word from German. Ie the Germans wrote their paper for this new control flow in German wenn/dann/sonst, then took their Langenscheidt and looked up "sonst".
I don't think the article author is concluding what you think they are.
The HN title reads "literal translation," which I didn't take to mean "literally".
The linked article doesn't really have a title. The article author states [...] "I think a carefully-chosen German word was probably translated as an archaic English word and then never revisited. Unfortunately we do not have the original German text to consult."
17 hours ago [-]
dvh 15 hours ago [-]
How would you mime "else" in charades?
19 hours ago [-]
saintfire 19 hours ago [-]
Article states else is archiac English but later says someone called it ignorantly incorrect English and suggested using "or".
Ive always assumed it was effectively "otherwise" but shortened to "or else" -> "else".
Given the alternative to use "or" as the first pushback I feel that acts as confirmation. I prefer else because "or" has implications in boolean and bitwise logic that else doesn't.
andai 18 hours ago [-]
Some languages also have an "unless" keyword!
duskwuff 18 hours ago [-]
Perl also has "until" as the inverse of "while".
(It'll also let you use "unless ... else ..." - but please don't.)
jibalt 17 hours ago [-]
But elsif
DonHopkins 5 hours ago [-]
FORTH ?KNOW IF HONK! ELSE FORTH LEARN! THEN
Frieren 19 hours ago [-]
If ... then ... otherwise ...
Fixed!
hcs 19 hours ago [-]
if ... then ... neht ... fi
voidmoth 19 hours ago [-]
[dead]
raverbashing 16 hours ago [-]
Also, one thing that has been happening without much awareness in the history of computer languages: shorter identifiers win over long identifiers
Why not { } instead of begin and end?
def or fn over function/lambda (or just () => now)
Symbols are confusing at first but become practical after a bit
About TFA: Also 'if/or' would make people confuse logical or with bitwise or, so I guess that's why it was eschewed
xdennis 19 hours ago [-]
> I can't use "else" as a conjunction in normal speech, only in computer programs.
Not true. Here's an example from 1876 in which "else" is used as a conjunction.
> My brother is poor, and I want to look as much like him as I can, else he may feel distant from me.
> Perhaps it will all come back, but now if you love me, give me up . . . else I shall begin to hate you, I feel it.
stldev 18 hours ago [-]
1611 Psalm 51:16 (KJV) uses else as a conjunction as well.
lukasgelbmann 17 hours ago [-]
> > Perhaps it will all come back, but now if you love me, give me up . . . else I shall begin to hate you, I feel it.
It’s not being used in the programming if-else sense here. He’s not saying “if you don’t love me, I shall begin to hate you”. He’s saying “if you don’t give me up, I shall begin to hate you”.
Garlef 17 hours ago [-]
if (you love me):
give me up
else:
I shall begin to hate you
# i feel it
zmgsabst 10 hours ago [-]
The language construct is exactly that if-then-else, you’re just making the intended inference.
A ? B : C => !B -> C
lukasgelbmann 5 hours ago [-]
I think it’s a different construction.
The programmer’s if-else goes like “If the window is open, close it. Else, leave it closed.” This is not a natural construction outside of programming, people would use “otherwise” or “if not” instead.
(“Else” stands for “if the window is not open” in the above.)
The Crime and Punishment if-else is more like “If the window is open, close it. Else, cold air will enter.” This is normal English.
(“Else” stands for “if you don’t close it” here. It can’t stand for “if the window is not open”.)
baggy_trough 18 hours ago [-]
Give up this mad idea, or else.
LocalH 19 hours ago [-]
what
gjvc 13 hours ago [-]
schizophrenic nonsense
10 hours ago [-]
wewewedxfgdf 20 hours ago [-]
The English language origin is from programming if/then/else
> The 'else' keyword is probably a literal translation from German (2020)
is editorialised, inaccurate, and very misleading.
The actual title: “if … then … else had to be invented!”
And the content doesn’t say anything about it being a literal translation from German; rather:
> What they do say is that this document was originally written in German and hastily translated into English. I think a carefully-chosen German word was probably translated as an archaic English word and then never revisited.
Wild speculation, and definitely nothing about literality of translation.
As for the author’s description of it being archaic, well, I’d call that misleading too. Bare “else”, arguably (definitely not colloquial in most dialects), but as “or else”, perfectly current.
Seems perfectly reasonable to me that someone considered the options, decided “otherwise”, “or else” too wordy and confusing in its own way, and so settled on bare “else” as the best choice (which I think it is), not how people mostly speak, but perfectly legitimate, and concise.
(In other words: I think we’d have settled on “else” even without the possible German step. This too is speculation, of course.)
We've reverted it now, so perhaps nature will heal itself, but it's amazing what an effect titles have on discussion. That's why, on HN, titles are not the prerogative of the submitter: "Please use the original title, unless it is misleading or linkbait; don't editorialize." - https://news.ycombinator.com/newsguidelines.html.
Submitters: If you want to say what you think is important about an article, that's fine, but do it by adding a comment to the thread. Then your view will be on a level playing field with everyone else's: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&so...
(Fortunately, this doesn't seem to be a pattern with theanonymousone's submissions. At least not from the random sample I took a quick look at.)
https://news.ycombinator.com/item?id=25404226 (Dec 13, 2020 - 12 comments)
https://news.ycombinator.com/item?id=25406211 (Dec 13, 2020 - 249 comments)
(Some of the 249 comments are from the author of the post - https://news.ycombinator.com/threads?id=enf)
https://news.ycombinator.com/item?id=28489930 (Sep 11, 2021 - 18 comments)
The current submission is from 4 days ago and must've been placed in the second-chance pool.
My interest in the article was in the German link of the word, so wanted to really emphasize that. I made a mistake it seems, if only by not simply saying ".. was probably a german translation"
One thing that's mostly forgotten today is that German had a very rich 'corpus' of wonderful nerdy computer science words up until the 1990s which unfortunately has fallen out of fashion. Nowadays it's a pretty terrible 'pidgin dialect' when Germans talk about programming and computers to each other (to a point where it's much less awkward to just speak English in the first place lol).
falls-dann-sonst
would be more correct, since "wenn" is temporal, like the English "when".
Many Germans often use these wrongly in everyday speech, but mathematicians like Friedrich L. Bauer probably wouldn't.
The other German word "falls" is sometimes also translated as "if" but it carries a slightly different connotation. In typical use "falls" is used for an unlikely condition: "falls es morgen regnen sollte" -> "if it were to rain tomorrow". If "wenn" was used instead of "falls", the connotation would be more like a 50/50 probability. In the end, the if/when split of English is really not the same as the falls/wenn split of German. For computer programming "wenn" would likely have been preferred by German programmers.
Nope, "wenn" is both "if" and "when", it's not limited to time.
Fall a1): Es gilt ... falls x < 0,
Fall a2): Es gilt ... falls x = 0,
Fall a3): Es gilt ... sonst.
Definitely have seen it written like that in mathematical proofs, you can even leave "Es gilt" and just write your proposition. On paper I would probably have placed a Halmos after sonst due to muscle memory lol.
Also if you threaten somebody with an "or else..." it works the same in German "sonst..."
EDV - maybe a less glitzy term for "tech" - is still used occasionally by Gen-Xers.
‘The most significant nuanced departure is that "sonst" can mean "normally," "usually," or "in general," contrasting a specific event against a baseline of normality. "Else" cannot do this.’
There is an etymological root to ‘sonst’ that is also the root of English ‘thus’. The German explanation would fit well in this story (but indeed no evidence presented).
“Er trinkt heute Kaffee, sonst trinkt er nur Tee.”
Else If would also be a possible name in Denmark.
But, according to Statistics Denmark[1], none of those combinations exists:
Women with the first name 'Else' 13,047 Men and women with the last name 'True' 166 No one has the name 'Else True'
Women with the first name 'Else' 13,047 Men and women with the last name 'If' 6 No one has the name 'Else If'
[1] https://www.dst.dk/en/Statistik/emner/borgere/navne/hvor-man...
You'd translate the "else" keyword to "ellers". "if then else" => "hvis så ellers"
Related, the word "or" would be translated to "eller" (without the 's') "and or not" => "og eller ikke"
Men with the first name 'Even' 73
Men and women with the last name 'Even' 11
[1] https://www.ssa.gov/oact/babynames/decades/names1920s.html
Elsa would be closer.
Or “Elseh”.
And yeah, Elsa was common too.
The author wrote: "I can't use "else" as a conjunction in normal speech, only in computer programs."
No doubt people use 'else' as a conjunction now, due to the influence of programming.
To show the author is completely wrong requires finding pre-1959 uses of 'else' in a conjunction.
Google ngrams shows 'else' being used fairly consistently up until about 1880 after which it gradually declines. In the 2000s it rapidly picks up, probably because of the programming influence.
Looking at the actual texts, there are a few German ones listed. Plenty with "someone else", "nothing else". Quite a lot with "or else", for example: "Yea , but what am I ? a scholar, or a schoolmaster, or else some youth".
The Wiktionary entry at https://en.wiktionary.org/wiki/else lists three use forms;
The claim is, I believe, that the conjunction form (the third one) does not predate its use in programming.The "someone else" and "nothing else" examples you listed are the adjective form.
The "or" in "or else" is the conjunction, not the "else".
You should be looking for something like " "Yea , but what am I ? a scholar, or a schoolmaster, else some youth".
Another thing to check would be if earlier uses were only in binary exclusive cases, like "One if by land, else two if by sea", or also with 3 or more terms, like "One if by land, two if by sea, else three if by air."
I don't know how to carry out this sort of search.
I did find this example, however:
> "My brother is poor, and I want to look as much like him as I can, else he may feel distant from me."
From Mill on the Floss, published by George Eliot in 1860.
With "else he may" as a search time, I found other examples in archive.org, like https://archive.org/details/sim_christian-intelligencer_1835... from 1835 .
- https://aloneonahill.com/blog/if-php-were-british/#:~:text=E...
- https://news.ycombinator.com/item?id=33828509
[0] https://developer.mozilla.org/en-US/docs/Web/URI/Reference/F...
PHP stands for Perchance Half-witted Politeness
Else, adverb or conjunction
1. Besides; except that mentioned; in addition; as, nowhere else; no one else.
2. Otherwise; in the other, or the contrary, case; if the facts were different.
“For thou desirest not sacrifice; else would I give it.” – Ps. li. 16.
After ‘or’, else is sometimes used expletively, as simply noting an alternative. “Will you give thanks, … or else shall I?” – Shak.
I feel like I’m going crazy reading this thread today. Else is not a rare or archaic word.
"When you go shopping make sure to buy flour or else we won't be able to bake the cake"
"otherwise" is a more common word choice but "else" is definitely in the active vocabulary of modern English speakers.
> When you go shopping make sure to buy flour, or we won't be able to bake the cake.
> When you go shopping make sure to buy flour, else we won't be able to bake the cake.
EDIT: TIL: Dictionaries don't commonly define "else" as a conjunction, except for Wiktionary. Still sounds natural to my ears, so this is a surprise.
> Make sure to buy flour, and we'll be able to bake the cake.
> Make sure to buy flour, so we'll be able to bake the cake.
> Make sure to buy flour, and so we'll be able to bake the cake.
It's almost tempting to reach for "elsewhen" or "elsewhy", since we have "elsewhere". But if saying "elsewise" feels like chatting with a very elderly relative, saying those ones feels more like a seance with distant ancestors. But apparently it used to be a thing!
https://en.wiktionary.org/wiki/elsewho#English
https://en.wiktionary.org/wiki/elsewhither#English
https://en.wiktionary.org/wiki/elsewhence#English
https://en.wiktionary.org/wiki/elsehow#English
https://en.wiktionary.org/wiki/elsewards#English
https://en.wiktionary.org/wiki/elsewhat#English
https://en.wiktionary.org/wiki/otherwhat#English
I my head as a child I instantly understood and thought "Ahhh, they mean like 'OR else this happens.'
I have always assumed it was a boolean logic thing meant to help show that it wasn't an AND, but 'or' had already been used as a keyword so they did 'or else' and dropped the reserved 'or'.
sure you can. who's going to stop you?
Such a funny movie.
"Someone else" sounds correct but else isn't trying to act as a conjunction there.
Scots (the Scots language, not Scottish English) tends to use bare "else" wherever "otherwise" is used in English, so I assume it's coming from the Northumbrian dialect of Middle English and leaks through to those dialects of Modern English with more Northumbrian influence.
"Take your coat or else you'll regret it."
"Hurry or else you'll miss the bus."
Etc.
> if something is true, then do a thing, else do a different thing.
> That's just English, right? Except that it isn't
No, it is English, grammatically correct English. It's not idiomatic English but it's a perfectly fine sentence otherwise.
Idiomatic English would simply require adding an or
But of course a native English programmer would quickly recognize the or is redundant even if it is idiomatic, and drop it.> I think a carefully-chosen German word was probably translated as an archaic English word and then never revisited
This is a weird reach. Else isn't an archaic word.
"Eat your dinner or else."
"If you don't do it someone else will have to."
Plus all the "or else" conjunction examples.
It was probably chosen because it was shorter than "otherwise" and not for any other reason.
No, it's what the author claims to have happened. I am strongly disputing their thesis as spurious.
On the contrary it's a normal everyday word that makes perfect grammatical sense in the given context.
wenn ... dann ... sonst
Short words mattered in the early days, with punch cards, very limited memory and computing power, shorter words saved resources. Also, when running a program means handing a stack of punch cards to an operator and waiting for the result to come out the next day, saving a few seconds of typing probably wasn't a priority.
As computer got fast enough not to care about single bytes, there was a push against using shorter names. "be descriptive" they said. Also we had more advanced editors with copy-paste, search and replace, etc... If there was an objection for overly long variables, it was more about screen real estate than typing speed.
I'd say the case where it mattered would be interactive shells, UNIX shells in particular, because for DOS, commands were limited to 8 characters by the filesystem, another technical limitation. But then came completion, making typing speed not really an issue, but you still want to be able to fit your command in one line, because otherwise it is annoying.
So: technical limitation or readability rather than typing speed.
https://arxiv.org/html/1501.05438v2#:~:text=otherwise,-%2C
https://arxiv.org/html/1302.5008v3#:~:text=otherwise
https://arxiv.org/html/1501.05438v2#:~:text=otherwise,-%2E
In fact, I think that's the most common alternative, not "else".
"while" on qwerty is sort of a chore.
I understand the theory when writing, you know: sentences. Writing code ain't that. I'm also not typing on a model M. This laptop's keys press down like 1 or 2mm at most. You actually only need to press down twice -- just move your finger from "l" to the "o" depress/press again for another "o" and move right over to the "p".
Do you reprogram your keyboard so parentheses, square/angle brackets, etc can be typed with their respective hands? Naw. When people type numbers all day, are they delighted to use the row of numbers up top, or a numpad? Never have I ever.
Regarding parentheses/brackets, I said "separate fingers", not "separate hands". I do use separate fingers for parentheses/brackets.
The numpad is a weird thing. When I've (rarely) needed it for sustained number capturing, I do typically stick to one finger because it's easy to get lost with multiple. Not sure why. It could just be lack of practice with the numpad.
It's hard to be sure, because I'm not sure how much I bias my movements by trying to monitor them while I do it! Normally I just type on auto-pilot, looking at the screen and not really being aware of the specific movements or finger duties...
I have a very idiosyncratic touch-typing method. I am self-taught with 40+ years of computer usage since grade school. There are arcing zones that are in the natural reach of different fingers, but with overlap where adjacent fingers can reach the same keys. I think my middle fingers are somewhat dominant, and may do more than their share of the total keypresses because of their dexterity and reach.
I have relatively large and flexible hands, so I span the keyboard by bending and reaching fingers rather than moving my forearms. The outer heel of my hands are statically parked on the palm rest or desk, and just the small joints in my hands and fingers are moving.
This parked posture is probably why I strongly prefer the Thinkpad "trackpoint" input device for general computer use.
edit: My criticism is for the suffix version to be clear. Unless / else is actually cool.
(But it's not remotely like come-from.)
P.S. in re the other response, "unless" is "if not". "until" is "while not".
I found it strange (merkwürdig) that they didn’t mention this in the article.
I remember I heard this structure at Uni at some point.
If-then-else had to be invented - https://news.ycombinator.com/item?id=28489930 - Sept 2021 (18 comments)
If-then-else had to be invented - https://news.ycombinator.com/item?id=25406211 - Dec 2020 (248 comments)
"He had never seen dogs fight as these wolfish creatures fought, and his first experience taught him an unforgetable lesson. It is true, it was a vicarious experience, else he would not have lived to profit by it."
https://en.wiktionary.org/wiki/else#Conjunction
There's also "or else", as made famous in crime dramas: "Meet me by the docks at midnight. Bring the money. Come alone. No cops... or else!" But in other usage it can of course be followed by something. "He had to get to work on time, or else he might be fired."
Even if it hasn't been invented as the author claims, the question of who used it in code first is a valid one, right?
I was going to mention the MAD language by Bernard Galler et. al. that used whenever/otherwise, which I encountered in a book in the local library back in the days when everyone was coming up with "structured" programming languages, but then I scrolled to the bottom of the article ...
He wrote Either/Or or Enten – Eller in Danish in 1843.
Else in Danish is Ellers.
"We'd better hurry, else we'll be late", or "I could go to a pub, else we can just stay home" is exactly the correct UK usage.
I guess the UK largely isn't up yet, hence this sort of comment missing.
Or if this other thing were to be true, then bar.
If it’s something else, then baz.
Funny enough, even though I know if/then/else by heart for decades now, I also spent a few seconds comprehending that 1960 arrow diagram of ALGOL60...
While the look up for history of computer language is interesting, the conclusion is completely wrong.
[1] https://www.duden.de/suchen/dudenonline/Else
https://www.duden.de/rechtschreibung/sonst
https://de.langenscheidt.com/deutsch-englisch/sonst
The HN title reads "literal translation," which I didn't take to mean "literally".
The linked article doesn't really have a title. The article author states [...] "I think a carefully-chosen German word was probably translated as an archaic English word and then never revisited. Unfortunately we do not have the original German text to consult."
Ive always assumed it was effectively "otherwise" but shortened to "or else" -> "else".
Given the alternative to use "or" as the first pushback I feel that acts as confirmation. I prefer else because "or" has implications in boolean and bitwise logic that else doesn't.
(It'll also let you use "unless ... else ..." - but please don't.)
Fixed!
Why not { } instead of begin and end?
def or fn over function/lambda (or just () => now)
Symbols are confusing at first but become practical after a bit
About TFA: Also 'if/or' would make people confuse logical or with bitwise or, so I guess that's why it was eschewed
Not true. Here's an example from 1876 in which "else" is used as a conjunction.
> My brother is poor, and I want to look as much like him as I can, else he may feel distant from me.
-- George Eliot ( https://www.victorianlondon.org/etexts/eliot/deronda-0047.sh... )
---
Here's an example of "if ... else" from the 1914 translation of Crime and Punishment ( https://en.wikisource.org/wiki/Crime_and_Punishment/Part_IV/... ):
> Perhaps it will all come back, but now if you love me, give me up . . . else I shall begin to hate you, I feel it.
It’s not being used in the programming if-else sense here. He’s not saying “if you don’t love me, I shall begin to hate you”. He’s saying “if you don’t give me up, I shall begin to hate you”.
A ? B : C => !B -> C
The programmer’s if-else goes like “If the window is open, close it. Else, leave it closed.” This is not a natural construction outside of programming, people would use “otherwise” or “if not” instead.
(“Else” stands for “if the window is not open” in the above.)
The Crime and Punishment if-else is more like “If the window is open, close it. Else, cold air will enter.” This is normal English.
(“Else” stands for “if you don’t close it” here. It can’t stand for “if the window is not open”.)