The closest to how it appears in programming is "adv. & conj." sense 2, which is pretty clearly archaic-sounding. The example given is: "For thou desirest not sacrifice; else would I give it." which seems pretty representative to me. But more directly relevant to its use in programming languages, perhaps, it gets the manicule-denoted aside (not sure how the manicure will come across on HN):
After ‘or', else is sometimes used expletively, as simply noting an alternative. "Will you give thanks, . . . or else shall I?" Shak.
We use it "expletively"! How wonderful. Though we drop the "or", if we take it that way.
Sense 1 is adjacent, but less closely-related to the programming use (as is clear in the examples): "1. Besides; except that mentioned; in addition; as, nowhere else; no one else."
"a. & pron" definition remains modern-sounding, and is what I mentioned above the edit as the ways in which it commonly occurs in modern language.
Overall, I'd say the "it was an awkward translation from German" hypothesis is pretty reasonable.
[EDIT] though you're correct that that usage is not uncommon, to be clear.
> 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.
Of course that's a bit of a guessing game, but I think "sonst" could be a good candidate. It means the same as otherwise, is short (short form of "ansonsten") and I can see a hasty translation turning it into else. An "or else" might have made more sense, however that's two separate words.
f n | odd n = 3 * n + 1
| otherwise = n \\ 2