Archive for March 19th, 2008

What Programming Languages should you learn?

March 19, 2008

I have always been a firm believer that as a software programmer – unlike their real life – one should avoid getting married to one programming language (at least personally this is what I expect from most of the pure computer science specialists). I know that there are people who will hurl stones at me when I say this. However, openness to explore something new in this regards, has always been a key criteria for me to select people in my group.

My views certainly got validated by Christopher Diggins in his article “Learn as Many Languages as You Can” in Dr. Dobbs Journal. While he certainly has his preferences set for Scala, however he is also encouraging programmers to leave their safety zone to effectively expand their thinking.

Regarding expansion of thinking – Chris points to an interesting hypothesis called as Sapir-Whorf’s Hypothesis (Wikipedia Link). This is the first time I have read this theory. It talks about how a particular linguistic language influences the thinking of its speakers. What this means is that if a Person A uses English as his speaking language vs Person B who uses Chinese as his speaking language – there is a high probability that both of them would have a different outlook towards exactly same aspects in life. I agree with this theory as I have observed this to be true in my real life. So what Chris is saying is that if this hypothesis is true, why not learn as many languages in order to get a wider outlook towards general software programming.

I completely agree with you, Chris!

Add to Technorati Favorites

Across Browsers Compatibility

March 19, 2008

Some things never change, do they?

I was watching the team yesterday meticulously trying to make sure that the user experience of the application is same across various browsers and their versions. It reminded me of my early days of the programming career little over decade back. Same story, same issues, and same hair-pulling experience! Mozilla vs. IE (it was Netscape vs. IE in my days); Works in 7.0 but does not work in 6.0; works on Joe’s IE but does not work on mine; blah blah. Same story but a different year! Or should I say a different decade?

I do agree that Web Programming has become extremely cooler and sophisticated over the last decade. I can recall a time where in order to make a web site interactive, all you could do was to pop-up an error or confirmation box using JavaScript on the Client Side. Today, however, the possibilities of what you can do in an application running in a browser is amazing. However as much as the complexity and wide-reach of Web Programming has increased, the technology to help in resolving the challenges associated with rolling out a Web – based product has not improved that much. It is still very human dependent as it was about a decade back. I am saying this even with the good web testing frameworks (Watir, Selenium, etc.) out there. There are certain things that still requires human eye.

[On the side note – I sometimes wonder why many programmers today shy away from Web Programming and prefer to confine themselves dealing with more structured programming languages (Java, RoR, etc.). IMO, Web Programming today is much more challenging than it ever was.]

Add to Technorati Favorites