27 comments

  • chrismorgan 1 hour 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.)

    • flohofwoe 27 minutes 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 like option for 'if-then-else' is 'wenn-dann-sonst', assuming that 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 16 minutes 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.

        • flohofwoe 9 minutes ago
          True, but "wenn-dann-sonst" has a better "flow" ;)
      • wjnc 18 minutes 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 14 minutes 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'.
    • gavmor 19 minutes ago
      I can't think of anything else.
    • crooked-v 30 minutes 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."
  • slu 2 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'

    [1] https://www.dst.dk/en/Statistik/emner/borgere/navne/hvor-man...

    • riggsdk 16 minutes ago
      Other Danish'ness:

      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"

    • sherr 1 hour ago
      Also in the English speaking world, but getting rare: Elsie.
      • vintermann 53 minutes 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.
    • emayljames 1 hour 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 1 hour 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.

  • esperent 2 hours ago
    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 41 minutes 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 1 hour 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 1 hour 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.

      • hobo123 1 hour ago
        The only German that makes sense would be

        wenn ... dann ... sonst

        • emayljames 1 hour 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.
  • rzzzt 54 minutes ago
    • magnat 28 minutes ago
      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.

      [0] https://developer.mozilla.org/en-US/docs/Web/URI/Reference/F...

      • rzzzt 17 minutes ago
        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.
  • divbzero 3 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.

  • akersten 4 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 3 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 2 hours ago
        If the addressed person does not comply, you can also add "or else" in a threatening tone.

        Such a funny movie.

    • RachelF 4 hours ago
      someone else ;-)
    • mondobe 3 hours ago
      Perhaps after the robot uprising... https://www.smbc-comics.com/comic/the-program
    • emayljames 1 hour ago
      Else could I?..
  • stkdump 4 hours ago
    The modern universal keywords if, else, for and while are good because they are fairly short and thus quick to type.
    • justinator 2 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 1 hour 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 1 hour 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 27 minutes 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.

      • opan 2 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 1 hour 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.
      • stkdump 2 hours ago
        Using more fingers allows for faster typing.
        • Cordiali 28 minutes ago
          There's a joke in here somewhere about machinists.
      • jibalt 2 hours ago
        w TAB in a properly configured emacs
        • justinator 1 hour 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?).
    • divbzero 3 hours ago
      Yes, otherwise is more natural but less terse.
    • alexfortin 2 hours ago
      I'm writing some Crystal (which has Ruby-like syntax) and I'd add `unless` to the list. I like it!
      • egeozcan 2 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 2 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 2 hours ago
          wdym? "unless" is literally "while not", no come-from mechanics
          • amszmidt 1 hour ago
            “unless” is “if not” — it is not generally looping construct.
      • jibalt 2 hours ago
        `unless` came from Perl, Ruby adopted it, and so of course did Crystal.
        • amszmidt 1 hour ago
          ”unless” already existed in early Lisps in the 1970s…
  • zacharyvoase 4 hours ago
    it was probably a rote translation of the German word ‘sonst’
  • lazyasciiart 2 hours ago
    This guy better figure out how to use English, or else something bad will happen.
  • jibalt 2 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 ...

  • rickdeckard 1 hour 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...

  • deepsun 2 hours ago
    I remember it felt odd when XSLT code provided "otherwise" instead of "else".
  • pram 3 hours ago
    Don’t even get me started on “elif”
    • YeahThisIsMe 2 hours ago
      That's a perfectly cromulent Turkish name.
    • tomrod 3 hours ago
      I like elif. It means exactly what I want it to mean!
      • lioeters 1 hour ago
        I also like iff and ffs.
  • bitwize 4 hours ago
    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."

    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."

    • krautsauer 3 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?

  • dwd 1 hour ago
    What about Kierkegaard?

    He wrote Either/Or or Enten – Eller in Danish in 1843.

    Else in Danish is Ellers.

    • emayljames 1 hour 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.
  • fcarraldo 4 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 3 hours ago
      OR if is ambiguous, and wouldn't work like an 'else if' statement. I think you mean XOR.
  • andai 2 hours ago
    Some languages also have an "unless" keyword!
    • duskwuff 2 hours ago
      Perl also has "until" as the inverse of "while".

      (It'll also let you use "unless ... else ..." - but please don't.)

  • saintfire 4 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.

  • raverbashing 1 hour 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

  • baggy_trough 2 hours ago
    Give up this mad idea, or else.
  • Frieren 4 hours ago
    If ... then ... otherwise ...

    Fixed!

    • hcs 3 hours ago
      if ... then ... neht ... fi
    • voidmoth 3 hours ago
      [dead]
  • LocalH 3 hours ago
    what
  • xdennis 4 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.

    -- 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.

    • stldev 3 hours ago
      1611 Psalm 51:16 (KJV) uses else as a conjunction as well.
    • lukasgelbmann 2 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 1 hour ago
        if (you love me):

          give me up
        else:

          I shall begin to hate you
          # i feel it
  • wewewedxfgdf 4 hours ago
    The English language origin is from programming if/then/else
  • hommelix 2 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.

    [1] https://www.duden.de/suchen/dudenonline/Else

    • morsch 2 hours ago
      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".

      https://www.duden.de/rechtschreibung/sonst

      https://de.langenscheidt.com/deutsch-englisch/sonst

    • isomorphic 2 hours ago
      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."