Where do I start?

I want to become a Rails web developer. I am not a programmer by any means. I have built one static website and am familiar with HTML and CSS. I know I'll need to learn Rails, and perhaps a list of other things like SQL, JavaScript, Apache, Ruby etc. but I have no idea where to start.

Could you please offer any advice on what I need to learn and most importantly what order I should learn them.

Thank you,

Chris

I started rails by reading Beginning Rails from Apress.

It will take you through most of what you need to know to start Rails. Being a .NET developer, it was quite easy to pick it up but I believe it is accessible to non web developer.

With Rails, you don't need to learn SQL (unless you have very specific tasks to achieve). JavaScript is nice to have (I would recommend you to use jQuery, a JavaScript framework) but you can have a full web app running without JavaScript. Apache? No need, Rails comes with Mongrel.

Ruby ... of course but you'll just need the basics and learn as you go.

My 2 cents

Ryan gave a really good resource, and it will only get better.

After that, start building and keep reading. Read blog posts, read source from other projects, read tons of books, and then when you think you can't read anymore ... read a novel and then read another book. Right now I recommend a few books:

Agile Web Development 3 (Beta PDF right now) from PragProg.com Simply Rails 2 (great introduction, if a little shallow at times) Learning Rails (a little deeper and covers different skills at different times) The Art of Rails (a philosophical book more than how-to)

Then, keep on reading other books, get yourself some Ruby books and learn Ruby, learn ... read, rinse, and read again.

All the time, keep building different things. Test all of the time. Your original sites are going to suck, and you'll look back and get discouraged, but keeping building and keep going.

If I had to learn rails again I would learn ruby first then drift over
into rails because I think that would give you a better understanding
of how ruby works

1. Ruby 2. Rails

If you try to learn Rails at the same time that you learn Ruby you'll inevitably get to a point where you have no idea about what's going on. The person that wrote Rails is a Ruby expert and it shows, which means that sometimes you will have no idea about the techniques being used and how things work. This is true even if you have a decent understanding about Ruby (I raise my hand there). However, if you learn Ruby (and practice it before starting writing code for/with Rails) you'll be in a much better position when you start using Rails.

Pepe

Like some already said, learn ruby first. For this here some good resources:

- Learn to Program - If you are beginning in the programming world. http://pine.fm/LearnToProgram/ (free html) http://pragprog.com/titles/fr_ltp/learn-to-program (improved comercial book)

- Try Ruby! - Practical online tutorial. http://tryruby.hobix.com/

- Programming Ruby (aka The Pickaxe book) - If you really wanna get into after the first steps. http://pragprog.com/titles/ruby3/programming-ruby-1-9

- Official Ruby Site - More resources. Look for mailing lists and irc channels too. http://ruby-lang.org

After this you can get into the ruby webdev land through the Sinatra microframework (http://sinatra.rubyforge.org/) just before dive into Rails. Found that using Sinatra is great to learning more and exercising my ruby and web knowledge...and it's also a great framework for really simple apps.

Like some already said, learn ruby first. For this here some good resources:

- Learn to Program - If you are beginning in the programming world. http://pine.fm/LearnToProgram/ (free html) http://pragprog.com/titles/fr_ltp/learn-to-program (improved comercial book)

- Try Ruby! - Practical online tutorial. http://tryruby.hobix.com/

- Programming Ruby (aka The Pickaxe book) - If you really wanna get into after the first steps. http://pragprog.com/titles/ruby3/programming-ruby-1-9

- Official Ruby Site - More resources. Look for mailing lists and irc channels too. http://ruby-lang.org

After this you can get into the ruby webdev land through the Sinatra microframework (http://sinatra.rubyforge.org/) just before dive into Rails. Found that using Sinatra is great to learning more and exercising my ruby and web knowledge...and it's also a great framework for really simple apps.

I learned Rails first and got into Ruby because of it. If you have programmed before, I don't think you need to know Ruby to do anything simple with Rails, but you do need Ruby do anything substantial. "Agile Web Development with Rails" really doesn't require much prior Ruby knowledge to get a feel for the language. Instead, it encourages exploration into Ruby. My students love reading it and learn a lot from it, but then they've programmed before.

If you're completely new to programming, Chris Pine's "Learn to Program" is exceptional.

Try reading Why's (Poignant) Guide to Ruby. He explains things pretty dang thoroughly, in an "interesting" way that you won't find anywhere else. http://poignantguide.net/ruby/

I found the Sitepoint Rails book (The SitePoint Library | SitePoint Premium rails2/) very good as an introduction to writing a full on Rails app - will definitely give you a taster of what Rails is all about.

Also, try watching a few of the more basic Railscasts (http:railscasts.com) by Ryan Bates ... these are brilliant and I see them as the equivalent of 'going to a lecture' at university, you get to see what is happening rather than just reading about it.

Also, sign up for a Heroku (http://heroku.com) account - you get to run rails apps right in your browser and don't have the hassle of having to install rails and set everything up.

After that, you should probably get the Agile Web Develpment on Rails book or The Rails Way by Obie Fernandez - this is a great reference and very up to date. There are loads of free guides online, not least the aforementioned official guides:

DAZ

We wrote Learning Rails with web developers in mind, though probably with a touch more JavaScript or similar light programming experience.

You might take a look at it and see if it works for you. Coming from no programming background at all, it may go too quickly, and you'll want to head back to learn more programming basics. On the brigher side, though, I think it should help you figure out what you need to set up and how deep you need to go into various areas. (You don't need Apache or SQL experience to get through the book, and we try to introduce and explain Ruby concepts along the way. You don't need much JavaScript, either, though it's certainly useful background knowledge.)

You can find out more about the book (and related resources) at http://excursionsonrails.com/.

Thanks!

Simon St.Laurent