Recommend me the fastest way to learn Ruby. I am proficient in Java, C# and VB.NET. But am not much comfortable with Perl/Python.
Comments:
Use it!
As usual with new languages, the best way is to play with it. There are now enough books to help you on the way but writing scripts and use of irb (the interactive environment) can do much.
Reading the ruby-talk mailing-list (or its Usenet equivalent comp.lang.ruby) can also help a lot.
Not knowing Perl can be an advantage as you will not try to Ruby-ify the Perl code, instead you’ll start fresh with a cleaner syntax and many interesting features.
Tutorial
I wrote a tutorial you might find useful. It assumes no previous programming experience, so you’ll probably be able to breeze through the first few chapters:
http://pine.fm/LearnToProgram/All of the code examples are guaranteed correct and up-to-date with the latest Ruby, since the examples are actually being run every time you load the webpage. (So try hitting reload on the pages useing random numbers or current times… cool, huh?) I even left in some intentionally wrong code, and I grab the errors and show them, so you know what to do when you make a mistake.
Email me if you have any questions about it. (My address can be found on the tutorial.)
Use It!
I’m going to echo Ollivier’s statement: use Rails. Read some tutorials. Rolling with Ruby on Rails Part 1 and Part 2 are good (though a tad old). Curt Hibb (the author) shows how to set up your Rails environment in Windows… Check out Amy Hoy’s guides and cheatsheets.
- #rubyonrails at irc.freenode.org is a good place. But, check the Rails documentation, Ruby core library, the Rails wiki for help first.
- Learn how to use
ruby script/consoleto play around with your ActiveRecord models. Learn to use the logs to figure out why your app isn’t working (with Tail for Win32). Set up subversion and trac for your projects, or find a great host for that. - Most of all, just be open to new things. Coming from C#/Java, Ruby will be doing things very differently. You’ll be exposed to new ways of coding (modifying base classes at runtime!), new web server environments (lighttpd + fastcgi), and the latest web development techniques (ajax).
I really had no clue what your skillset was exactly, so I just listed the things that helped me out. I too came from the c# world…
I think the fastest way to learn ruby is to use it, but have goals. Pick a project, something you want to automate. I often pick a catalog/library project of some kind when learning a new language. It is a problem I know and enjoy, and it helps me familiarize myself with many different aspects of the language.
Also, use your tools! irb and ri come with ruby 1.8 and are very very important to learning and using ruby. Get to know them, they are your friends.





