Abhinav Saxena bio photo

Abhinav Saxena

a body of clay, a mind full of play, a moment's life - that is me

Twitter Facebook LinkedIn Github Flickr

Have you ever wondered how kids learn their first set of languages, and how it is different from the way, we grown-ups, learn new languages? I think, kids learn them and the real world at the same time, hence they map words with real things - like the word ‘chocolate’ with something sweet in a wrapper they love to eat.

On the other hand, when grown-ups try to learn one - they mostly map words in it with corresponding words in the language they already know - like ‘halu’ in Kannada means milk.

Intuitively, the grown-ups’ way of learning new languages looks more efficient, but if you have ever tried learning a new language, you will know it’s not that easy. Somehow, kids seem to pick languages easily than grown-ups. Of course, there are people who are very good at picking them up, and can learn multiple languages with comparatively ease, but they are more or less exceptions. Another problem with grown-ups’ way is that they are limited by knowledge of their previous known languages.

I think all this holds true for programming languages too. When you learn your first programming language - you are not only learning a new language, you are learning programming too. After that, every new programming language you learn you subconsciously try to map it’s constructs with known ones. And this is when, for starters, learning one from a different paradigm seems very tough. In my particular case, I found it extremely hard to learn second programming language (after C) because I was trying to learn C++ and Java, which are from a different paradigm of object oriented programming. I gave up and instead learnt Perl, gradually started using objects in it and finally learnt object oriented programming. Although I am still a beginner in funtional programming, but I think object oriented programming to functional programming jump was comparatively easy.

Be it human languages or programming ones, you learn them by practicing them. And in this context, I feel, programming languages are easier to learn than human languages. It takes courage and readiness to make mistakes to learn new human languages, and therefore, not surprsingly, you will still find me trying to use Hindi instead of Kannada on the streets of Bangalore.


PS: “What is your good name” is literal Hindi transalation of “Aapka shubh naam kya hai”, a polite way of asking somebody’s name in North India.