The Source for Java Technology Collaboration
User: Password:
Register | Login help    

Search

Online Books:
java.net on MarkMail:


toto, The Francophone foo

Posted by shan_man on January 16, 2006 at 8:22 AM PST

Do the toto!

Shortly before the holidays, I had the opportunity to visit a customer site in the wonderful city of Montreal, Canada. I was an eater of excellent food, a seer of new sites, and a lucky fan at Centre Bell when the Montreal Canadians won their first overtime shootout under the new NHL rules! And that was just in the off hours. I also truly enjoyed myself during the day in the company of the folks whom I met, who, by the way, are all very savvy and are doing powerful things with Java and Swing. I thank them for their friendly hospitality, for switching to English during my visit, and for encouraging my multiple attempts at expanding my French vocabulary (Je voudrais des frites, s'il vous plait). I also thank them for introducing me to toto. The introduction went something like this:

We were sitting in a conference room, where it was my turn at the whiteboard to demonstrate code snippets. So I began: boolean foo = ... And then I stopped, for suddenly (and I don't what prompted it) I was unsure if they'd ever met foo. Feeling it was important to know before continuing, I asked them straight out. Gesturing over my shoulders with both hands towards the board, I asked them: "Do you foo?" Well I assume they took my gestures out of context, for the next few seconds were extremely comical. I watched as they looked at each other, and some non-verbal communication passsed between them. Then, looking back at me akwardly, they slowly pushed back their chairs and rose. Beginning a cute little dance, they responded in the negative: "Non...nous ne foo pas. But we toto!"

Alright, okay, so the true story is a lot less entertaining. In actuality, I did ask about the use of foo in French programming and, in fact, these gentlemen had not seen it before. But, being that these were smart guys, they deduced exactly what it represented. And that's how it came about that they introduced me to foo's French counterpart toto. You see, where we'd normally talk using "foo", "bar" or "baz" in English, as a proper francophone you should correctly use the French "toto", "titi" or "tata". And while I personally couldn't get Dorothy's little puppy out of my head for the first hour, I eventually became very comfortable with this. Due to their pattern that has you alternating hands between letters (LEFT: t - RIGHT: o - LEFT: t - RIGHT: o), some of these little guys are exceptionally easy to type - and can be entered even faster than the three-letter foo! Give it a try.

But what about the words themselves? Is "toto" as steeped in culture as the English "foo"? Is "titi" a direct translation of our "bar", the place where programmers rejuvinate on coffee between late-night coding sessions? And what about "tata", a word I've actually used myself when speaking with my two-year-old sons; as in "tata honey, please give Daddy back the digital camera that you're not supposed to be playing with." Well it turns out that these words are designed to have no inherent meaning at all when we use them to talk about computer systems. With a little googling, I've discovered that all of these words, English and French alike, belong to a group with the easy-to-remember name of metasyntactic variables. They are so-called, according to Wikipedia and The Jargon File, because (a) "They are variables in the metalanguage used to talk about programs, etc." and (b) "They are variables whose values are often variables (as in usages like 'the value of f(foo, bar) is the sum of foo and bar')."

Nifty - so someone's named some of the nonsense that we programmers instinctively understand! But what I find particularly interesting, since I'd never considered it before, is that the implementation of the concept varies across cultures and languages. Again reading from Wikipedia, I've learned that when programming in Estonia you may need to refer to the "kalatehas (fish factory)" or maybe "oxe (misspelled vomit)". And in Italy, according to The Jargon File, be prepared to be introduced to "pippo (Goofy)" and "paperino (Donald Duck)".

Cool! By happening to discover the non-universality of foo, I met his francophone twin toto, became more cultured, and learned about a universal concept. I'd say my visit to Montreal was quite succesful!

Related Topics >> Swing      
Comments
Comments are listed in date ascending order (oldest first)