February 2, 2004


Filed under: analog — mhoye @ 6:47 pm

“Programming languages teach you not to want what they cannot provide. You have to think in a language to write programs in it, and it’s hard to want something you can’t describe.” – Paul Graham, ANSI Common Lisp, 1995.

It’s taken me quite a while to really understand what this means. For a long time I just dismissed this argument with the counter-argument of Turing-completeness. I think it’s a strong argument, too; if a language is Turing-complete, then in principle anything that you can express in one language you can express in another.

The thing is, Turing-completeness (and, I think, completeness proofs in general) makes no mention of how hard or how easy that mapping will be on the programmer. That’s why we actually have different languages – because once you’ve gotten past the trivialities, it’s an awful lot easier to express some things in one language than another.

Even more interesting, though, are the restrictions that those languages impose, things that you’re explicitly not allowed to express in those languages, for whatever reason. Some languages, like Lisp or Scheme, allow you to redefine the whole thing on the fly to suit your needs. Others, like early Java, make it easy to restrict the ways people can interact with your code, but not to expand the syntax. Some of them allow operator overloading, because

BigPolynomialA += BigPolynomialB + BigPolynomialC;

is believed to be cleaner and easier to read than


but other languages forbid operator overloading, because

WonkA += FooB && ZoomX(2);

could mean anything, really, and Bjarne is a lunatic to think otherwise.

One thing, though, that I hadn’t considered until recently is how true those tensions between what is possible and what is permissible exist in spoken languages as well; it can be difficult or impossible to express things in english that have single-word explanations in french, and vice-versa. I’ve been learning Japanese a little bit at a time for a while now, and I’m just barely beginning to sense that the same thing is true there; Japanese has no future tense, curiously, but I’m told that it incorporates a raft of different grades of politeness and civility that range from “fuck you” to something that you literally only use when addressing the Emperor. Even in this larval stage of my comprehension I can see the range possible expression billowing out into the distance like a passing storm.

So maybe something that might take a page or a novel to express in one language can be carried across in a word or a sentence in another.

Orwell argued, in his essay Politics and the English Language, that language affects thought as much as the reverse:

“…an effect can become a cause, reinforcing the original cause and producing the same effect in an intensified form, and so on indefinitely. A man may take to drink because he feels himself to be a failure, and then fail all the more completely because he drinks. It is rather the same thing that is happening to the English language. It becomes ugly and inaccurate because our thoughts are foolish, but the slovenliness of our language makes it easier for us to have foolish thoughts.

But I wonder if there is something beyond that, that even avoiding intellectual sloppiness or outright idiocy, fullness or accuracy of expression might be restricted by the tools you have at hand to communicate it, restrictions built right into the language you’re using. Winnie the Pooh, asked what the best thing in the world is, is about to reply “eating honey”, when he hesitates; there was a moment, just before you actually ate the honey that was better than actually eating the honey, but he didn’t know what to call it.

And unlike Lisp, we don’t generally speak to each other in languages that you can arbitrarily redefine on the fly. Not if you want to actually, you know, talk to anyone.

I’ve had that sense a lot lately, that there’s a feeling here or a moment there, that I can’t express because there isn’t a word for it yet. I have a sense, though, that there is a word for it somewhere, and I just don’t speak the right language. So I guess I’m going to have to learn some more languages.


  1. My brother has this theory, which is based around the stor yof the tower of Babel. Where they lived in paradise, everyone spoke the same language, but God cast them down and caused them all to speak in different tongues. His theory is that if you reverse this process, (learn all the languages) then you may find great knowledge.

    I think that knowing alot more languages would make it easier to express your thoughts to yourself.

    Comment by Michael — February 2, 2004 @ 8:38 pm

  2. There are definitely things I can think only in Turkish and things I can think only in English, and I’d be stumped if you asked me to provide a concrete example (because I never stop to make a note when I come across a thought I can’t translate mentally; maybe next time I should try to remember that).

    Comment by Zeynep — February 2, 2004 @ 10:01 pm

  3. I have a ferinstance: someone once told me that there is a word in Arabic that means “going to a friend’s house for dinner, and then deciding to stay over”.

    Obviously, this happens often enough there that they had to make it a single word.

    Comment by Lara Beaton — February 2, 2004 @ 11:20 pm

  4. And then there’s English. I’ve had the interesting experience working with a pile of Brits, Aussies, Kiwis, Americans, and Canadians, and sometimes we have no clue what each other are talking about. And with Japanese, I recently discovered that instead of “I’m going to eat that now” (which is what I’m saying until I can figure out how to say “I don’t need six bags with my chocolate bar, thanks”), I’ve been saying “You’re going to eat that now.” Oops.

    Comment by Nick — February 2, 2004 @ 11:52 pm

  5. Michael: I like the idea of learning lots of different languages, but I think that after a while, there’d be some kind of diminishing insight return.

    Nick: If it’s any consolation, a few days ago Sean and I were practicing, and I mistakenly ate a taxi.

    Comment by Mike Hoye — February 3, 2004 @ 1:35 am

  6. I assume you’re familiar with Sapir-Whorf?

    Comment by Mike Kozlowski — February 3, 2004 @ 10:23 am

  7. I am; the problem with Sapir-Whorf is one I mentioned above – there are times that that you want to express something, and you can sense that there should be one simple way to express it, but there isn’t. So you have to find some clever, long-winded way of dancing around that empty space in the language.

    I suspect that all languages have that problem, but that the empty spaces are distinct in each one.

    Whatever that means.

    Comment by Mike Hoye — February 3, 2004 @ 12:10 pm

  8. I a fan of new compound-words.

    verb: jelly-roll — an obese man getting out of bed in the morning.

    Now, what shall we call this new style of compounding-words? Something with a peaceful warm maternal feeling… How about — “German”.

    Comment by alex — February 3, 2004 @ 6:54 pm

  9. Your language-prowess is innovatacular.

    Comment by Mike Hoye — February 3, 2004 @ 7:20 pm

  10. Mike, here’s something for you and Sean to translate.

    Watashi wa neko ga oishi desu.

    Comment by Nick — February 4, 2004 @ 12:30 am

  11. Perhaps we should not translate that here, gaijin.

    Comment by Mike Hoye — February 4, 2004 @ 1:15 am

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress