<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/the-else-keyword-is-probably-a-literal-translation-from-german-2020--y2qgkr9yi" -->

---
title: The 'else' keyword is probably a literal translation...
description: This talk traces the history of the if-then-else statement, which the author argues had to be invented rather than arising naturally from language. The Eniac...
canonical: https://daily.dev/posts/the-else-keyword-is-probably-a-literal-translation-from-german-2020--y2qgkr9yi
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: The 'else' keyword is probably a literal translation from German (2020) | daily.dev
og:description: This talk traces the history of the if-then-else statement, which the author argues had to be invented rather than arising naturally from language. The Eniac...
og:url: https://daily.dev/posts/the-else-keyword-is-probably-a-literal-translation-from-german-2020--y2qgkr9yi
og:image: https://api.daily.dev/og/posts/Y2qgKr9YI.png
og:image:alt: The 'else' keyword is probably a literal translation from German (2020)
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# The 'else' keyword is probably a literal translation from German (2020)

**[Hacker News](https://daily.dev/sources/hn)** · 9 min read · 0 upvotes · 0 comments

## Summary

This talk traces the history of the if-then-else statement, which the author argues had to be invented rather than arising naturally from language. The Eniac seems to have been the first computer able to perform different instructions depending on a previous result, and Haskell Curry and Willa Wyatt's 1946 report used the name 'discrimination' for making a decision based on which of two numbers was larger. Fortran later introduced a three-way 'if' jumping to different locations based on a value's sign. A 1958 German proposal used the word 'else' in a 'case' form, though its origin is unclear since the original German text is lost. Klaus Samelson unified Algol's conditional forms at the end of 1959, creating 'if-then-else' as it appeared in the Algol 60 report, the form nearly all later languages adopted. Christopher Strachey's CPL rejected 'else' as 'ignorantly incorrect English.'

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://github.com/e-n-f/if-then-else/blob/master/if-then-else.md>

## Questions this post answers

### Which programming language first introduced the else keyword in an if statement?

The German proposal for the International Algebraic Language in 1958 contains the first appearance of the word 'else', used in a separate 'case' conditional form for when none of the other cases applied. The original document was written in German and hastily translated into English, so the exact reasoning behind choosing 'else' is unknown since the original German text no longer survives.

_Curious readers tracing language history details like this keep exploring programming origins on daily.dev._

### Who created the if-then-else form used in modern programming languages?

Klaus Samelson unified Algol's two separate conditional models at the end of 1959, eliminating the earlier 'if either' form and adding a clause called 'else' that runs when the controlling expression is false. This combined 'if-then-else' form appeared in the Algol 60 report the following year and was adopted by almost all subsequent programming languages.

_Developers digging into language design history can keep discovering stories like Algol's on daily.dev._

### Why did Christopher Strachey refuse to use the word else in CPL?

Christopher Strachey, designer of CPL (the grandparent of C), called 'else' 'ignorantly incorrect English' and refused to use it, proposing 'test ... then ... or' instead. That alternative phrasing did not sound natural and never caught on, so CPL kept the if-then-else form while using different vocabulary.

_Anyone comparing language syntax choices can follow more programming history deep dives on daily.dev._

## Community take

How the wider developer community reacted, aggregated from 3 discussions and 660 comments across hackernews (as of 2026-10-29).

**TL;DR:** The discussion largely moves past the post's core claim to debate linguistics more broadly, especially whether natural-language 'and'/'or' map cleanly onto their boolean counterparts, and whether 'else' as a conjunction is truly archaic or still natural in some dialects.

**Sentiment:** 20% positive · 65% mixed · 15% skeptical

**The case for**

- Some note that 'else' used without 'or' is attested historically (Shakespeare, 1903 Jack London quote, OED citations) and isn't actually incorrect English.
- Several speakers of British/regional dialects (Lancastrian, Cumbrian) say using bare 'else' as a conjunction still sounds natural to them.
- One commenter offers a plausible German etymology chain ('falls...sonst') suggesting 'case...then...else' would have been a more faithful translation than 'if...then...else'.

**The pushback**

- Others insist 'else' as a conjunction without 'or' is essentially unknown in their dialect and only recognizable from programming.
- Several argue the natural-language analogy breaks down anyway, since 'and'/'or' in everyday speech don't behave like their strict boolean definitions.
- A few push back that the invention of the if-then-else control-flow construct is largely independent of whether 'else' itself feels natural in English.

**By community**

- hackernews (mixed): The thread quickly branches into a long, good-natured linguistic debate about natural-language 'and'/'or'/'else' versus their logical meanings, with real disagreement but no hostility.

**Hottest debate:** Whether 'else' can be used as a conjunction in natural English without 'or' preceding it, with dialect, era, and personal experience cited on both sides.

**Open questions**

- Does any surviving German-language source confirm the exact wording that was translated into 'else', given the original 1958 proposal text is lost?
- What is the name of the paper comparing natural-language keyword usage to programming-language keywords that multiple commenters wanted to find?

**Highlights**

> > Is 'falls' related to 'falsch' at all? Nope, according to Kluge's German etymological dictionary, "falls" is from a Germanic root most literally meaning falling (down) (just like English "fall"), while "falsch" is borrowed from Latin falsus, which in turn comes from the Latin verb fallere, to deceive (like "fallacy"). (Wiktionary also traces the two of them to different Indo-European roots.) There's an interesting side note that German Fall (the origin of "falls") means "case" (both in the grammatical sense, related to noun forms, and in the senses of "a logical possibility" or "a fact": Wittgenstein's Tractatus starts out with "Die Welt ist alles, was der Fall ist" -- "The world is everything that is the case"), and in fact the English word "case" comes from Latin "casus" (originally literally 'fall' as in the act of falling down), and the German use of Fall in the senses having to do with logic and grammar was a conscious loan translation which Kluge says was devised by Christoph Helwig in the 17th century (intending to translate Latin "casus"). Kluge says that the grammatical sense of Latin "casus" for noun cases was itself a loan translation in Latin from the Greek πτῶσις (literally, 'fall(ing)') which was used by "Stoics" to refer to noun forms by analogy with the possible ways that dice could "fall" when you rolled them. (I don't know why the Stoics would have been the first to write about grammar this way, but maybe...) Apparently the word ptosis is now mainly used to refer to drooping eyelids (!). Anyway, the idea of different ways that dice (or nouns or fate or situations) could "fall" are different "cases" is a commonality among many languages but the relationship is apparently conscious, on the part of educated people like Christoph Helwig who were trying to find ways of translating technical terms. That also means that if the German programmers in the mid-20th century were trying to translate "falls ... dann ... sonst" the best English translation would plausibly have been "case ... then ... else" rather than "if ... then ... else". :-) (English "else" is usually used to translate "sonst" in "was sonst"/"sonst (et)was", but "otherwise" is usually used to translate "sonst" as a conjunction. So you could also imagine that the "else" was inspired either by the dialectal form some other people in this thread are mentioning, or by someone who just didn't realize that "otherwise" would be more usual in this context for Americans.)
> — [schoen on hackernews · 1 comments](https://news.ycombinator.com/item?id=25412364)

> > The article was fascinating, especially the historical examples from different programming languages, and I buy the plausibility of a German speaker using “else” this way... I work with German speakers and they do it all the time. From the small amount of German I know, it feels like there might be some parallel with “als”. I‘m a native German. It was certainly not „als“ as this translates to either „than“ as in „more than“ or „when“ as in „when I came home“. My guess is that the original German text used „falls“ for „if“ and „sonst“ for „else“: „falls A > 0 dann X“ „sonst Y“
> — [cbmuser on hackernews · 1 comments](https://news.ycombinator.com/item?id=25411888)

> You’ve framed it in the article and here again as a correctness issue, but it’s not a correctness issue. It’s fair to say you haven’t heard it, or that it’s uncommon today, but if you use it, it’s not wrong. And people will understand you, even if you do get a sideways glance from some people. You can use “else” without “or”, if you like. The article was fascinating, especially the historical examples from different programming languages, and I buy the plausibility of a German speaker using “else” this way... I work with German speakers and they do it all the time. From the small amount of German I know, it feels like there might be some parallel with “als”. Another common one they use that’s less common with English speakers is starting a sentence with “Means”, as opposed to “It means” or “That means”. It’s not incorrect, but it does sound different. I just don’t think the German speaker explanation is the only possible one, because there absolutely is precedence for the English use of ‘else’ as a conjunction. Usage of ‘else’ with ‘or’ also makes some plausible sense here too...
> — [dahart on hackernews · 2 comments](https://news.ycombinator.com/item?id=25410033)

> I am the author, and I mean that I can say "or else" in a normal sentence, but I cannot say "else" without an "or" in normal speech in my normal dialect.
> — [enf on hackernews · 5 comments](https://news.ycombinator.com/item?id=25409420)

> Wiktionary has a usage example from 1903, clearly before modern computers but not too ancient. > 1903, Jack London, The Call of the Wild, Grosset & Dunlap, page 44: > […] 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. As an aside there is at least one common word which does seem to have been invented by the software industry: "access" as a verb
> — [shawnz on hackernews · 4 comments](https://news.ycombinator.com/item?id=25406633)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=50233059) · 99 points · 128 comments
- [hackernews](https://news.ycombinator.com/item?id=28489930) · 34 points · 36 comments
- [hackernews](https://news.ycombinator.com/item?id=25406211) · 414 points · 496 comments

## Similar posts on daily.dev

- [Ruby If Statement: A Complete Guide 2026](https://daily.dev/posts/ruby-if-statement-a-complete-guide-2026-rf0zoanbc) · Ruby Flow · 0 upvotes · 0 comments
- [Haskell for all: Dependent if expressions without dependent types](https://daily.dev/posts/haskell-for-all-dependent-if-expressions-without-dependent-types-6owx0digy) · Planet Haskell · 0 upvotes · 0 comments

---

Tags: [#lisp](https://daily.dev/tags/lisp), [#fortran](https://daily.dev/tags/fortran)

[View this post on daily.dev](https://daily.dev/posts/the-else-keyword-is-probably-a-literal-translation-from-german-2020--y2qgkr9yi)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"The 'else' keyword is probably a literal translation from German (2020)","url":"https://daily.dev/posts/the-else-keyword-is-probably-a-literal-translation-from-german-2020--y2qgkr9yi","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/the-else-keyword-is-probably-a-literal-translation-from-german-2020--y2qgkr9yi"},"datePublished":"2026-10-29T05:34:31.507Z","dateModified":"2026-10-29T11:20:55.321Z","description":"This talk traces the history of the if-then-else statement, which the author argues had to be invented rather than arising naturally from language. The Eniac...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0bb10610000ba3f846ab7d327f341915?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0bb10610000ba3f846ab7d327f341915?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/the-else-keyword-is-probably-a-literal-translation-from-german-2020--y2qgkr9yi","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"lisp,fortran","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"The 'else' keyword is probably a literal translation from German (2020)"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/the-else-keyword-is-probably-a-literal-translation-from-german-2020--y2qgkr9yi#faq","mainEntity":[{"@type":"Question","name":"Which programming language first introduced the else keyword in an if statement?","acceptedAnswer":{"@type":"Answer","text":"The German proposal for the International Algebraic Language in 1958 contains the first appearance of the word 'else', used in a separate 'case' conditional form for when none of the other cases applied. The original document was written in German and hastily translated into English, so the exact reasoning behind choosing 'else' is unknown since the original German text no longer survives. Curious readers tracing language history details like this keep exploring programming origins on daily.dev."}},{"@type":"Question","name":"Who created the if-then-else form used in modern programming languages?","acceptedAnswer":{"@type":"Answer","text":"Klaus Samelson unified Algol's two separate conditional models at the end of 1959, eliminating the earlier 'if either' form and adding a clause called 'else' that runs when the controlling expression is false. This combined 'if-then-else' form appeared in the Algol 60 report the following year and was adopted by almost all subsequent programming languages. Developers digging into language design history can keep discovering stories like Algol's on daily.dev."}},{"@type":"Question","name":"Why did Christopher Strachey refuse to use the word else in CPL?","acceptedAnswer":{"@type":"Answer","text":"Christopher Strachey, designer of CPL (the grandparent of C), called 'else' 'ignorantly incorrect English' and refused to use it, proposing 'test ... then ... or' instead. That alternative phrasing did not sound natural and never caught on, so CPL kept the if-then-else form while using different vocabulary. Anyone comparing language syntax choices can follow more programming history deep dives on daily.dev."}}]}
```

