'But why?' Is the first question people ask.
I heard of Ruby long ago. That time I only knew that it was invented and pretty popular in Japan. But then came ‘
Ruby On Rails’. Being a web developer, I couldn’t overlook its popularity.
So one fine day, I decided to try ‘Rails’ myself. But I soon realized, I needed to learn ‘Ruby’ first. Seemed logical. (You need to learn C++, before you can do anything with MFC).
So, I am learning Ruby. I would have preferred learning Python, but I found learning Ruby (and Ruby on Rails) could be more beneficial to my professional. That doesn’t mean I am giving up ASP.NET.
This is a common problem, which I see with people. When they see someone learning something not ‘directly’ related to his/her work, they think he/she is looking for a switch. Many of us (at least here in India) grow up learning ‘C’ like languages. Our (including myself) conception of a programming language is something very close to ‘C’. This is the reason I am very comfortable with languages like C\C++\Java\C#\Javascript etc. Anything different becomes hard to digest as a programming language. It is in no way a reason to worry because I can solve the problem which I am supposed to!
This is not a question of ‘my language is better than yours’. Learning new languages teaches valuable lessons on programming style, concepts and elegance. Performance and utility are entirely different topics. Every language has its strong points and ways of writing elegant code. There can be no single language that can have all the best features.
I am reading the book
‘Programming Ruby’ by Dave Thomas and Andy Hunt, and believe me just skimming thorough the book has exposed me to scores of different programming concepts, constructs and strategies. Imagine how much will I gain when I actually start working on Rails!!
So next time when I code at work, I’ll probably ask myself ‘why I can’t do something like that in this language’ and the answer will surely help me understand the language and programming better.