It’s exhilarating, learning something new every day. It’s probably addictive. I know I never want it to stop.
I am not a programmer. Very likely I have little or no facility for learning programming languages. At least not if the evidence of my execrable French and German is anything to go by. Yet there too, I persist. For a number of years I spent every morning between 5:30 and 7:30 attempting to improve my French (yes, I do get up that early – it’s a curse). And still my French is embarrassing to me.
No doubt I would have learned more and learned it more quickly if I could have immersed myself in French language and culture for a week, a month, a year. I could have gone to restaurants, watched television, read newspapers, and most important talked to people. That is, I might have learned more had I lived in French for a time.
I did get the immersion experience in German once. One summer, the first that we were living in the UK, Kathy and I toured what had been East Germany with her uncle and aunt. Neither Klaus nor Erna speak English. Kathy speaks no German. In the parts of Germany that we were visiting there was no intrusion of English – no English-speaking tourists, no English television, no newspapers. So, for two weeks I needed to live in German just to get by, as well as serving as Kathy’s principal translator. Talk about exhausting. And yet, I probably learned more German and better in those two weeks than in the previous four years of modest effort altogether.
Very likely I will never learn a programming language well enough to claim fluency. But the challenge is there before me. And just like learning a natural language, I need to live in it for a time. Fortunately there are plenty of resources ready and waiting.
Python is my first serious programming language (I don’t count the “Hello, World” programs I wrote in GW-BASIC when I was a teenager). Some day maybe I’ll move on to Java or Perl or (shudder) C/C++. I am slowly beginning to grasp the rudiments of the language. I am aided in this by the opportunity to look at, study, modify (if I should wish) and run the source code for a couple of Python-based projects that I follow: Imendio Planner (Gnome Planner, as was) and MoinMoin.
No, I’m not ready yet to contribute any code to these projects. I am under no illusions as to my abilities. But I’m learning to read the code that underpins two applications I use in my daily work. And I’m following the discussions on the development mailing lists for them. Some day, in the not too distant future, I may even start modifying my local copies of the code base. I can at least dream of some day making small code contributions to the projects.
Meanwhile, I’m learning something new every day. I hope I live to be a hundred and one.