When I was a high school computer science teacher, students liked to stump me with English phrases to translate into the computer language Java.
Computer languages are designed as actual languages, not just magic spells you chant over a keyboard. So there should be translations for anything from English to a computer language. In practice, it gets tricky.
The difficulty arises because computers only understand commands. In spoken languages, this is called the imperative tense, such as “Hey you, load those boxes onto those trucks.”
But if you want to say something like “There are too many boxes to load onto this truck,” the way to express that is not obvious. Mainly because it’s not clear to the computer what you expect it to do with that information.
Anything you say in command-only languages like computer languages must make your expectations clear.
Here are some translations from complete English into command-only English. They all start with “Hey you” because otherwise the imperative tense is sometimes ambiguous in English, and because it’s funnier.
English: I need a drink of water.
COE: Hey you, bring me a glass of water.
English: Hello!
COE: Hey you, respond to me (so I know you are listening).
English: There are too many boxes to load onto this truck.
COE: Hey you, get another truck for these boxes.
English: Karen finished the TPS reports.
COE: Hey you, remember that the TPS reports are finished.
Hey you, remember that Karen was the one who finished them.
English: I'm done with all my work, what should I do now?
COE: Hey you, issue me a new task.
English: You're a sack of crap.
COE: Hey you, quit being a sack of crap.
In all of the complete English versions, there is an implication about what you should do with the information. Command-only English makes that implication explicit.
Command-only English is a stripped down version of complete English. It has fewer ways to say things, and so it’s simpler than complete English. Imagine if instead of saying “How are you?” to your coworkers every morning, you would say “Hey you, acknowledge my presence.” It loses some of the charm, but it removes the ambiguity over whether you actually want to know their state.
If you want to know how they’re doing, you’ll command them “Hey you, tell me your current state”. Then they’ll command you to know that they are dreading the oblivion we all march toward. They might then command you to bring them coffee while you’re getting yourself some.
All in all, I prefer the charm of complete English. But for practical matters, like computers, it’s nice to have a simplified alternative.
Computer languages are not exactly charming. https://t.co/Q4WhsJjtzt pic.twitter.com/O2VzCx7xCV
— Dan Kuck-Alvarez (@dankuck) March 31, 2017