The old version of this page ranks my relative skills in programming (and spoken) languages.
This new version answers the question: If programming languages were countries, how would I relate to them as a visitor and a resident? Because I do live in these places; each with their different customs and inhabitants, and reasons for being. And the borders between them are a cause for strife, and innefficiencies, and evil. And yet their diversity is a good thing, a source of inspiration and interest.
If C were a foreign country...
It would always feel like visiting the past. But a past that makes so much of a certian kind of sense. The trains run on time, there's an order and sanity to everything, and citizens are also given great personal freedom and responsibility, and a vast and noble history informs all. Almost makes up for having to wear a hat and gloves, and fill out 3 page forms for every simple task. Pity about the strikes that bring everything to a screeching halt if a single number is transposed.
(And then there's the strange bordering dutchy of C++, where things are different, and scary. Don't go there.)
If BASIC were a foreign country...
It would only be one in my mind, when I think back to childhood, when small things were bigger, and the world not fully known. But there's a certian fondness for the place that set me on my path. And I wish everyone could experience that, limited as it was.
If Haskell were a foreign country...
It'd be the one that I've been flirting with moving to, but I'm too chicken to take the plunge. On my visits, I can get around; buy things in the shops, have halting conversations, puzzle out the gist of stories in the paper. Still, I'm missing much of the context, and it's hard to stay long enough to immerse myself in the culture and really become a part of it.
And it's so utopian! It all seems so right, they've found such a good way. But as I listen to them, I wonder, where do the good ideas stop, and the wild-eyed fervors begin? Have I already been sucked in by these gorgeous ideas, can this place really be as perfect as it seems?
Update after 5 years: Proud to be an expat living in Haskell!
If Java were a foreign country...
It'd be the place I'm glad I avoided ever having to go on a business trip to. Except those 2 days that one time, which sucked.
(And seriously. Giant towers, and palm-shaped islands...?! You know that's sand, right?)
Unfortunatly people who did spend time there have gone on to found other places like it.
If Javascript were a foreign country...
It's be a place that seems so similar to home it's easy to visit. But I wish I didn't have to. How did this place get to be so big and important? It's certianly no better than any other, and has a lot of problems besides. But somehow it tied itself so tightly to things that we all need that now you have to go there on business trips.
If LOGO were a foreign country...
It would be one I visited young, under strict supervision, but still it had a big impact on me. Of course these days I know it's only a province of Lisp, and not a very interesting one, but back then, wow, it really seemed something!
If Lua were a foreign country...
It'd be another of those places that seems at least superficially so similar to home that I've never bothered to learn much about it. It has its own little niche, but I've not found any other reasons to visit it.
If pascal were a foreign country...
It would be a place I remember visiting when young, not quite understanding it, not connecting with it, but seeing a certian kind of clean, awkward architectural beauty. I sometimes wonder, did it make a small impression, or such a deep one I'm not aware? But I've never been back, and I'm not even sure it's still around. That was long ago, and the map has changed..
If Perl were a foreign country...
It might be foreign to you, but to me, it's home. The place I know broadly and deeply. With many regional variations, almost all of which I am at home with and can easily fit into.
Also the place whose flaws I see most clearly, and feel most strongly. What a shame it's still like this! How slowly we grow, how the past holds us back! Is the path ahead a good one? No matter where I end up, those will still be concerns about my native land.
If Python were a foreign country...
It would be that neighbor to the north, that seems so similar to home when I visit, but whose foreignness stands out more when I'm away. Kind of a backup plan, if things go wrong here. And it's great that they do things differently up there. But they do have some strange ideas and customs. And they're so similar that I've never seriously thought about moving; it would be too much bother for too little gain.