Learning Ruby - Don't give up

This is my very first post ever published and it is about learning this amazing language, Ruby.
I just released stup, a tool for easily keeping organized daily notes in the terminal. You can find it on GitHub here.

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 an IDE”. Then I looked all the other devs’ monitors 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 enough.

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:

What? 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 + sum

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

Cat looking left left window: terminal

Cat looking in the middle middle window: text editor

Cat looking right 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 so 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.