I’ve always been asked by people which language I write (programs) in and which one(s) I prefer. I’ve been programming in different languages since I was in the 9th grade and I have yet to develop an affinity for any particular language. Truth be told, despite having programmed in different language from early on, I’ve never quite gotten motivated to write programs at home for kicks or anything. I looked at programming as some academic activity that I’d just have to do and so preference for a particular language doesn’t quite make sense to me. For me, picking a language is more relevant when assessing the problems at hand and then choosing whatever suitable platform there is to meet the goals of that project. Other than that, I think the challenges of learning a new language are insignificant compared to the solving of various problems without having to reinvent the wheel. So far, I’ve programmed little in languages like Pascal, C, C++ and a lot more in Java and C#. That being said, I don’t think Java being my strong language necessitates that I should be blocked into programming in just that for the rest of my life. I believe in taking on any challenge head on even if it means the difference between an elegant solution and a “easier” hack solution. The modern high level object-oriented languages afford nicer solutions to the programming of high level applications using reusable components and libraries. When it comes to low level processing and speed, nothing beats C/C++ but then the price you pay is having to take care of a lot of complex stuff like memory management and threading/processes yourself.
I do like reading about the evolution of existing languages (such as in Java, C++) and the creation of new languages (C#, Comega, D, etc). They show the different paradigms of thinking through problems as well as the evolution of software and the different approaches required to deal with newer needs.