About 5 months ago I was asked to join a Ruby on Rails project. After a lot of thinking whether I should switch to a new language after programming in Java for about 8 years or not I decided to do so. I was really excited actually and I couldn't wait to start learning the new stuff.
Day one I had an introduction to the development environment. A text editor and a console. I said, OK, this must be this guy's thing, I'll download the IDE. Then I looked all the other dev's monitor and still, no IDE. Black terminals and text editors. So I asked:
- Why don't you use something like Eclipse?
- We don't have to, a text editor is all you need.
The guy started showing me some code. After 8 hours of listening to words like haml, yaml, cancan, monkey patch, factory girl, coffeescript etc I left the office like this:
OMG, I took the wrong decision.
Back home I started reading the book I had ordered The Ruby programming language.
The moment I saw this code in chapter one
a.inject do |x, sum|x + sumend
I googled "Ruby to Java converter".
I was very confused, everything seemed too different to what I had been coding for 8 years. I didn't know if Ruby was the next step for my programming future but since I decided to participate to the project I had to continue my effort.
And so I did. And now, after 5 months I'm glad I did. And I managed, during this period of learning ruby, to develop an application in order to practice.
Even though this is related mostly to the framework I used (Ruby on Rails) I didn't have to setup any hibernate, jpa, transaction, jdbc etc stuff. Everything was pretty smooth and with a little googling I had answers to any issues that came up. All that weird words haml, yaml, monkey patch etc are now what I consider "must use" stuff.
Yes, you get a little dizzy at first:
left window: terminal
middle window: text editor
right window: firefox
Yes, there are a looooot of stuff to learn, a looooot of stuff to get used to and surely a lot of stuff you have to forget if your previous programming language is too different like Java. But once you reach that point, you will see that it wasn't that hard.
There is something here that makes Ruby developers feel happy. I don't know how to express this something and probably it's different for each programmer.
I love coding in Ruby (especially when it's on Rails) and you will love this too.
Just give it some time.
Edit 1: November 9, 2013
I add these words by +MichauxKelley's comment on this article:
Tip to new rubyists: don't let your awesomeness in some other language keep you from asking questions that you think might make you look stupid; my experience has been that the happiest (and often the best) developers in the Ruby community are more than willing and happy to answer most questions, and being brave enough to do so will grant you experience far more quickly than the painstaking process of trial-and-error.