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 :)

You may also like to read...