It has been a while, isn’t it? Well it seems this blog has been receiving greater eyeballs than ever before, thanks to its reference in my signature line. Also I’m slowing redesigning the main site to make it similar to the design of the blog.
A quick update on me before I dive into my topic. I’m in the typical disarray mode right now. Work takes about 12 hours in a day. Traveling is approximately 2 hours and reading/T.V takes up 2 hours. I sleep for around 6-7 hours. The remaining 1 hour is all I’ve got for doing something creative. It is simply not enough!
Back to my topic, there is a certain part of me, which secretively tries to implement a mini-language in every project I do. I’m passionate about reading about new computer languages and their compiler/interpreter techniques. The inexplicable passion has driven me to learn at least 20 odd computer languages and still counting.
Though it is one of my interests, I wonder does it serve any purpose. The common reason most academia cites is the advantage of knowing various paradigms that will enrich your programming style in any language. But my take is that in reality it helps you in at least two ways: adaptability and judging suitability. Many times, I have been able to help people coding in language XYZ which I would be seeing for the first time. They would exclaim “Hey, but I didn’t find that in the manuals or even in Google”! What helps most of the time is that a language designer is one, like me ;), who studies all the existing languages before he makes a new one. Hence a many, many features are intentionally or unintentionally copied. Another advantage is suitability, if somebody is doing an AI program in javascript, I definitely know something is wrong. Most language are theoretically capable of doing everything what another language can, but the expressibility of each language makes it suitable for certain kinds of problem domains for eg: Perl for string processing. Only a person who has savored most of the offerings (i.e. languages) can save hours of programming effort and maintenance but choosing the right one for the job.
In the long run learning different languages or even applications always helps. No matter how difficult it may seem :)