views:

198

answers:

2

What are some great Learning resources? What kind of problems do I solve with Ruby? Is learning ruby on rails same as ruby? If my current background is visual studio and microsoft.net framework, is IronRuby the best way for me?

Awful lot of questions, please suggest.

+2  A: 

Ruby on Rails is an application framework around ruby.

It's like saying is "Asp.Net MVC" the same as learning C#?

Ruby is the language powering the Framework, but many have taken the good points and implemented it into other frameworks now.

Ruby is an interesting language. IronRuby compiles Ruby down to MSIL, just like C#, VB.Net etc. So it's a good start for implementing Ruby, as it maps Ruby to be able to be used in the CLR.

but if you want to learn the language itself, one good (and fun) way to get the basics is here: http://tryruby.hobix.com/

Wiki to more about Ruby

Funniest and most creative intro to a language ever: Why's (Poignant) Guide to Ruby

As for IronRuby. Here's more info on that: http://stackoverflow.com/questions/69443/going-ruby-straight-to-ironruby

Atømix
Oops - you are right - I thought no one had posted the link to "Why's Poignant" yet. +1 to you and I have deleted my answer :)
Andrew Hare
No problem. I didn't describe the link, but I took a cue from your answer and added the description.
Atømix
Sadly TryRuby is down
Sam Saffron
Use http://tryruby.org/ now.
Thiago Silveira
+2  A: 

What kinds of problems?

Pretty much anything that where the performance of a dynamic language is acceptable. It's general purpose (like Java, Python, C++, etc.) so you could use it for most any kind of application.

Is learning ROR the same as learning Ruby?

No. Ruby on Rails is a set of extensions to make Ruby good at web application development. To answer another question you asked, this is probably what Ruby is most famous for. It's use in Ruby on Rails and the ease of development it has offered to web developers.

How is a DSL useful?

It's useful because it is "domain specific". That's what the DS in DSL stands for. You're making a language with constructs which are appropriate for the particular problem domain you're working in. A DSL for arcade game development would probably have parts of the language to make it easy to animate multiple things and start them in motion and react to collisions between them. Whereas a DSL for accounting might have things for adding entire sets of numbers and comparing them to other sets.

Great learning resources?

I'm partial to video learning so my choices would be Railscasts.com and PeepCode.com.

John Munsch
Thanks for those VideoCasts. I'm always on the lookout for Video Learning. DNRTV has a couple of Video PodCasts too:http://www.dnrtv.com/default.aspx?showNum=37 is one.
Atømix