

2 Questions about RoR - piers

1. Can anyone recommend any good books on beginning Ruby on Rails? I have good general programming knowledge (I can do ASP/ASP.NET/PHP etc) but I've never used Ruby and I want to add it as another string to my bow.<p>2. How come RoR has taken off so much with startups? Admittedly I can only name Justin.tv and Twitter off the top of my head right now, but it seems to be the startup language of choice at the moment. Why is this?
======
craigbellot
1\. Agile Web Development with Rails

2\. Because it's been designed by smart people who "get it" with regards to
agile development, which is what startups need. In addition, the community has
a "culture" which many startups identify with.

~~~
fendale
+1 for Agile Web development with Rails.

Getting the Programming Ruby 'Pickaxe' book for Ruby is good too.

------
vdm
I just got 'The Rails Way' and my first impressions are that it is a
definitive reference work (covering Rails 2 no less). I already prefer what I
have seen to a lot of other Rails books I have gone through.

In particular I am not a fan of the Agile Web Development with Rails book;
apart from anything else it is way behind the state of the art at this stage.

I actually like to learn from reference books; maybe its just me.

~~~
raju
I looked into 'The Rails Way' over the weekend. As vdm correctly says, its
definitely a very comprehensive reference. And it makes as a good book, but
you definitely need to work with a basic tutorial to get you up and running
quickly. I would recommend "Agile Web Development with Rails" but with Rails
2.0 although its a little behind the curve, its not a bad book.

I am currently reading "Practical Social Networking Sites with Rails", and
although its a decent book, the author tends to skip some of the most
important details, leaving you wondering how something came about. I would not
recommend it.

I have read 'Ruby for Rails', and its definitely a good book. David Black is a
very good author and teaches you Ruby and shows you how a lot of the 'black-
magic' in Rails happens.

Here is someone else's review of some of the books -
<http://antoniocangiano.com/rails-books/>

For Ruby, I would recommend Peter Cooper's book over Programming Ruby any
day... especially if you are new to Ruby and/or OOP in general.

------
pius
I'd highly recommend "Ruby For Rails" if you're learning Ruby and Rails at the
same time.

~~~
binarykeats
Definitely. Learning the advanced features of Ruby will give you a big boost
using Rails -- especially metaprogramming, which is something that few other
frameworks employ.

------
carpal
1) I've never gotten much utility out of Rails books. I've generally gotten
much more use out of the API docs and blogs. That said, the Agile Web
Development with Rails book is pretty much standard, and Rails Recipes is good
for code examples. However, if you're doing something in Rails Recipes,
there's probably a plugin for it by now.

2) Because it is very easy to implement an idea in a day and see if it sticks.
More than that, when you're faced with a task that might not have much reward,
it is easier to do if it doesn't feel like work. Programming in
PHP/Java/C#/etc generally feels like work. Programming in Ruby generally feels
like fun.

~~~
wallflower
"Programming in Ruby generally feels like fun" Thank you. That does it. I am
going to buy a laptop (probably the Asus EEE, not the MacBook Air) and start
learning Ruby on Rails code during my 53 minute train ride. I bought "The
Rails Way" because Zed recommended it at the end of his rant, and it's pretty
Greek to me. I'll start with beginningrails.com and the Pick-Axe book (Zed's
criticism about it, aside)

------
engtech
And don't touch Ruby on Rails for Dummies with a 10ft pole. That book is
horrible.

Here's my liveblogging take of my first three weeks with Rails:

<http://internetducttape.com/category/ruby-on-rails/>

------
kevTheDev
Hey,

Books are not always the easiest thing to learn from. I found screencasts to
be an excellent way to pick up all sorts of stuff for Rails.

Check out peepcode.com, railscasts.com and showmedo.com for starters.

Some content is free (railscasts), others not so free.

------
ROFISH
1) I've used the Agile Ruby on Rails book along with the free Why's (Poignant)
Guide to Ruby online. (Cartoon Foxes!) I suggest checking out Why's Guide
first and learn Ruby before you hit Rails. Ruby's a fairly easy language to
learn while Rails is a totally different programming scheme you may be
unfamiliar with (ActiveRecord).

Look at CakePHP to get familiar with ActiveRecord for PHP. I don't really
recommend CakePHP as a development platform, but it's a great way to
understand Rails if Ruby+Rails at the same time is too complicated.

2) My opinion of why RoR has taken off is because ActiveRecord makes normal
day-to-day activities simple. Verification is already handled. Although PHP
and Ruby are roughly equal in speed (Ruby 2.0 is going to be a lot faster
though!), Rails isn't. But once you're done, built-in caching features help it
scale at least a little bit. Of course if you're worried about scalability,
just program the whole thing in C. :P (That's what Amazon does!)

------
whalesalad
Justin.tv is alllll python. Not Ruby. Python baby.

------
engtech
Agile Web Development with Rails is a little too old now. I'd follow the other
people and go with the Rails Way instead.

And don't bother with RESTful Web Services.. if you're using Rails 2.x then
you only need a half page tutorial on how to use REST, not an entire book.

~~~
motoko
I like the RESTful Web Services book because it discussed how to design an API
and why, not just the functions you'd need to wire an API together.

------
raghus
I strongly recommend Beginning Rails by Jeffrey Hardy. I liked it even more
than AWDWR. Here's the companion site: <http://beginningrails.com/>. The
author is active on the Google mailing list for this book as well.

------
granderson
1) I highly recommend Agile Web Development with Ruby on Rails. I also
recommend the Pick Axe (Pragmatic Programmers Ruby book). I do not recommend
Ruby for Rails. I bought it and skimmed it to realize I already knew
everything in it after reading the other two.

2) B/c it has a great ORM layer (ActiveRecord) and strong ajax libraries
(integration with prototype/script.aculo.us) which make it easy to quickly put
together a very well organized app that has a lot of UI sizzle.

I also expect Merb to continue to gather steam, especially for people who
"get" rails and who want to take it in specialized directions.

------
mhartl
Take a look at RailsSpace, which is an extended tutorial introduction to
Rails. As one of the authors, I'm biased, but the Amazon reviews are pretty
good: <http://www.amazon.com/dp/0321480791>

N.B. As with virtually all Rails books, it's a bit out of date (despite having
only just come out last summer!), but we focus on general techniques that are
plenty useful in Rails 2. I'm currently building a site with some of the same
features as the book application, and I often find myself referring to the
book for guidance.

------
mattup
1) Beginning Ruby by Peter Cooper is a good one for learning Ruby, the Pickaxe
book is a great reference for Ruby as well. Agile Web development with Rails
is good, also the Rails Way is good for Rails 2.0.

------
jaaron
1) RailsSpace by Hartl and The Rails Way by Fernandez are the best books out
there right now.

2) Right time, right place. Rails came out around the same time the second
wave of web startups picked up.

Also the argument is that Rails allows a smaller team (or even just one
person) to write more functionality in less time. Whether that's true or not
for you may vary.

------
rob
Just as an FYI, but I believe Justin.tv switched to Python.

~~~
piers
Actually I think you're right. Didn't they develop their own flash server with
python?

But they started with RoR didn't they?

~~~
nickb
You're both semi-wrong. The website, justin.tv, is written in RoR and always
was. Their flash server, PMS (Python Media Server), is written in Python. It
was always in Python. PMS replaces the need to run Adobe's Flash server.

~~~
emmett
That's correct. Thanks for clearing that up!

------
ajkirwin
I'll have to check out some of these listed books, if only to have a reference
around.

Like with PHP, ASP, Perl and others, I learned the language simply by looking
at existing apps, hacking them up, then sitting down and making something of
my own and all the fun trial and error that gives.

I find it a much nicer way to learn a language than from a book. But then, I'm
a very hands-on person.

