All my life I have been fascinated by languages. That includes my own mother tongue, German. It’s a harsh-sounding language full of colliding consonants and devoid of any rules or regularity. I always wonder how anyone could possibly try to learn it as a foreign language. But it’s very subtle and expressive, and I hate seeing its elegance spoilt by those grammar slips and erroneous inflections that seem to become more common with each passing year. Even more I mind the all-pervading influx of half-understood English terms that often result in positively absurd combinations that are neither proper English nor proper German. People who do that in my opinion only prove that they don’t care for languages.

I went to a high school that emphasized the classics, so we had nine years of Latin and five years of ancient Greek, but only very little English. I left school with barely enough English to ask for directions in a country where English is spoken without a perceivable accent. (Where might that be? California?) Most of my English has been acquired from a variety of sources much later in life. Living in Switzerland in the 1990s I got used to watching movies subtitled rather than dubbed. At 30, I threw away all my translated books and bought the original English versions of all those I really liked. Ever since, I haven’t been able to stand translations–they always sound false and kill the immersion.

Two of my three major research projects in my former professional life as a historian were based almost exclusively on English sources. I spent several months in London archives and libraries. Much of my English, however, comes from active participation in English-speaking internet communities–computer gaming above all, from historical strategy games to MMORPGs. For well over a decade I was reading English for much of the day and writing or speaking it at night. And now I am again perusing books, tutorials, and documentation for programming in English and writing code and comments in English. For years now it’s been more natural for me to speak, think, and even dream in English than in my own mother tongue, and every day I find myself in conversation with Germans vainly groping for German equivalents of familiar English expressions. Of course my English is not nearly as good as my German–at least not when I put my mind to writing or speaking proper German–but for a long time it’s been the language that’s closer to my heart and thoughts.

But then that’s about the only real success story with natural languages for me. When I was 20 or so, my girl-friend and I started taking evening classes in Italian. Evening classes invariably mean very slow progress, but I stuck with it for about two years. And oddly from the first day Italian felt familiar in a strange way no other language ever has. My only comparable experience was when I first took the tiller on a sailing boat and instantly felt everything made sense–the pressure of the wind on the sails and of the water on the hull and the deck under my feet all combined to a compelling conviction that I was born to do this. It was much like this with me and Italian. Years after we quit the evening classes I happened to spend a week in Tuscany with three colleagues and friends of colleagues who all were native Italian speakers. By then I hadn’t heard, read or spoken any Italian in a long time, but within 24 hours it had all come back to me. Unfortunately that’s 20 years ago now and I haven’t used my Italian even once in all that time, but I have no doubt it would come back to me again if the need arose. Just like you never unlearn riding a bike.

I have a love-hate relationship with French. It’s the language I have most often tried to learn properly, but I never quite succeeded. The first try was as a fourth language, an elective course in the 10th grade in high school. Our teacher was female, young, and pretty, in an all-male school, and we were 16. Inevitably the atmosphere was so loaded that actually learning French was the bottom-most of our priorities in that class. Successive tries over the next 20 years included a language school in Bern, Switzerland, a holiday crash course and a weekly evening course at the French consulate-general in Hamburg, and a self-organized group at work with a hired teacher who failed to actually show up about every other time. Somehow French every time stubbornly defied my attempts to master it. I have no problems with pronounciation, not even with those nasty nasals which sound quite the same to most people (unlike most Germans I also have no problems with the English ‘th’ sound), but I find French grammar utterly unintuitive, and I can never remember all those irregular verbs. The paradox is that my interest in French is anything but academic. My wife and I have been spending our summer vacations in France every year from 2006 to 2014, and we are serious Francophiles. But after all this time it’s still my wife doing the talking. I read French fluently, and often understand spoken French faster than my wife, but when I try to speak French I feel like a perfect idiot because I can’t form a proper sentence for the life of me. I don’t suppose this will ever change for at this stage it’s probably a psychological barrier first of all. Still, learning to speak proper French is right up there on top of my dreams for the rest of my days, together with being a granddad and flying an airplane.

Like most Germans I find I can read the Scandinavian languages and Dutch, understanding about 80% right away and being able to guess the rest from context, but I can’t understand a word when they are being spoken and have no ambition to speak them. In seven years in Bern I learned not only to understand but also to speak Bärndütsch, the local Swiss-German dialect. But since the Bernese easily feel mocked when a German speaks their language (probably primarily because most attempts by Germans to do so are so utterly pathetic) I confined demonstrating that talent to the circle of my closest friends. I also learned to identify, by certain markers, most of the other regional variations of Swiss-German and even today I can surprise German-speaking Swiss people by not only understanding a language they universally consider incomprehensible to outsiders, but also guessing the Canton (state) they hail from. Mind you, I mean their dialect. That’s not the German you will ever hear from them in conversation, as a non-Swiss German speaker. The heavily Swiss-accented speech that most Germans consider ‘the’ Swiss-German dialect (as if there were such a thing in a country whose 26 tiny federal states pride themselves on their independence and idiosyncracies) is actually Swiss High German. Swiss people only switch to their actual dialect when they are among themselves.

Other, completely abortive attempts to learn a language I went through in the past 30 years or so, but usually in my teens, included Esperanto, Japanese, and Russian. I acquired some Turkish from a close friend who had come from Turkey to Germany at the age of 18. His German was perfect in grammar and vocabulary, but heavily accented. My Turkish never got past counting to 100. I can still use the proper formulas of greeting however when I enter or leave a Turkish-run food store. In 1991 my girl-friend and I spent a month in Hungary, and I acquired the usual tourist’s vocabulary. What made it memorable is that, like Turkish, Hungarian is a not an Indo-European language and shares practically no words with any of those languages most familiar to us. Take the word ‘republic’ whose Latin root ‘res publica’ (that what concerns the people, i.e. the common weal) is readily recognizable in any Indo-European language including Russian. The Hungarian equivalent however is köztársaság. Try guessing that. A similar case is Finnish, incredibly closely related to Hungarian, and similarly ineffective at expressing simple concepts. In both languages somehow the most basic things always come out as at least four syllables with as many diacritic marks. The only Finnish word I still recall is the one for drinking water, which was crucial since we were camping in a van on our Scandinavian tour in 1992 and needed to top up our water tanks every day. For our four-day trip to Barcelona in 2011 (our last-but-one vacation without kids) my wife bought us a Spanish language guide. It might as well have been French for all the use it was. Barcelona is in Spain, but the people don’t speak Castilian (Spanish) but Catalan.

So yeah, I have always been fascinated by languages, particulary by their relationship to one another, the similarities and differences in structure and vocabulary, the possibility or impossibility of actually translating between them. Small wonder then that also in computer programming I have kept this fascination alive. For the world of programming is truly polyglot these days. Before my first term at UAS I had already acquired experience in programming with Java, Ruby, C++, and JavaScript.

In programming class we had a practicum assignment in which we should calculate the first seven ‘perfect numbers’–numbers that are the sum of all their proper divisors, i.e. counting 1 but not counting the number itself. That sequence starts rather innocently with 6  ( = 1 + 2 + 3) and 28 (= 1 + 2 + 4 + 7 + 14), but the next two perfect numbers are 496 and 8128. The seventh perfect number has 12 digits, and the eigth has 19. Factorizing a 19-digit number will take some time on even the fastest machine–we’re easily talking minutes here–and performance differences between programming languages suddenly became interesting. For fun, my programming partner and I implemented the search for the perfect numbers not only in Ruby and Java, our then standard programming languages, but I also added C++ and JavaScript. The differences were dramatic, particularly between compiled and interpreted languages. I reported this to our professor, and he mentioned Lua as the fastest interpreted language. So I read a Lua tutorial and wrote a ‘perfect number’ search algorithm for a direct comparison. Lua was truly convincing, at least as far as speed is concerned. It found the seventh and eight perfect number 10 times as fast as Ruby and 100 times as fast as JavaScript. In fact, it was only about 50 per cent slower than Java or C++. The only catch was that Lua apparently treats all numbers as 64 bit floating point, so that it can not properly calculate an integer with more than 15 decimal digits, which made the search for the eigth perfect number rather pointless.

In any case that episode made Lua officially my fifth programming language. During the term break I learned Prolog, though a logical programming language is really a completely different kind of animal compared to imperative languages. In any case we then unexpectedly didn’t need Prolog for the logic lecture in the second term. But the machine-oriented programming class in the same term added Assembly and C, though I could not really warm to either. In the third term, doing an Angular frontend in software engineering class necessitated acquiring some TypeScript, which however is just a superset of JavaScript and thus not terribly unusual. For the research project we recently started participating in (but that is a different story) I made myself familiar with the basics of C#. And finally this weekend I started learning Python for the “compulsory choice” module on adaptive systems, because Python seems to be the most common language for machine-learning problems.

So this weekend I found myself working through the (very well-done) official Python tutorial and suddenly realized that Python is, unbelievably, my 11th programming language in just over two years of CS. With that realization came some other insights that probably apply the same way to natural-language learning, even though a natural language is of course infinitely more complex than a programming language. I found I quickly browsed through the tutorial, taking most things for granted and looking just for the differences. For in the end, any imperative programming language is much like another. They have the same control flow constructs, the same types of collections, the same keywords picked from a small set of obvious choices, the same concepts. After 10 languages it’s all awfully familiar, and the real challenge is not understanding, but remembering how the same thing is still subtly different in a new language. Just like C# is very similar to Java, and both are to C++, so Python is very similar to the other elegant higher-level language I am familiar with, Ruby. Ultimately it’s keeping them apart that’s the problem, just like some people who speak several Romanic languages are sometimes in constant danger of mixing them up. Particularly since a Spanish speaker will, in a pinch, and given some good will, understand Italian, or vice versa. Unfortunately, a Java compiler will stubbornly refuse to understand C++ or C#. (There might be a worthwhile field for some fuzzy logic research here?)

But my real point is that for me, still, a language, whether natural or programming, is not just a tool to some purpose, but an object of intense fascination in itself. Most of my co-students will groan when they are expected to acquire yet another programming language. I, on the other hand, rejoice at the prospect. I find a lot of innocent fun in reading a language tutorial. Given any chance, I will happily discuss just how control flow constructs differ between various languages, how associative arrays (‘maps’) are implemented here or there, whether parameters are passed to methods ‘by reference’ or ‘by value’ (there is an incredible confusion over terms here between the various communities!), and so on. Given the choice, I will take knowing twenty languages for everyday use over knowing two languages inside-out, any day.

For this term’s “compulsory choice” module one professor offered a course on comparing the uses of various languages other than Java. It was my top choice, but unfortunately it attracted not even the minimum number of students (10). The unfortunate title (“Advanced programming concepts”) may have played a role in that. But in the end I can but conclude that not so many of my co-students do share my fascination with languages.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s