Topic: Beginner Book Suggestions:

I am interested in learning programming and the Ruby scripting language.  I am a beginner and really don't even have a clue where to start.  I've read some reviews online and figured you guys would have the best advice.  I need a beginner's book to Ruby.  It has to be simple.  I have no experience with programming or scripting at all.  I can't follow any tutorials because I don't understand much of the terminology.  Inputs, strings, modulos... it's all too much.  I need to garner a better understanding of computer science along with Ruby specifically.  Any readings that you could suggest would be great.  Has to be beginner.  Please don't assume I have any experience other than normal operations of a computer. 

Thanks in advance.

Re: Beginner Book Suggestions:

"Learn to Program" by Chris Pine.

Re: Beginner Book Suggestions:

Programming For Dummies could also give you a good start. I always loved reading those Dummies books in general, because it breaks it down for you to make sense of everything. Then once your well versed in general programming concepts, there is an awesome O'Reilly book called "The Ruby Programming Language", the 2008 edition.

Once your ready to learn Rail specifically, I would suggest Agile Web Development with Rails 3rd Edition.

Hope this helps. smile

Re: Beginner Book Suggestions:

"The Ruby Programming Language" is definitely not for beginners. I guess AWDWR would be the next book to read.

I totally hate the Dummies series, they use an unreadable font. PragProg's editing is 100x more enjoyable.

Re: Beginner Book Suggestions:

I'd go with the Learn to Program book also. You can read more about it here:

Re: Beginner Book Suggestions:

I'm currently working through Foundation Rails 2 by Eldon Alameda. I'd certainly recommend it.  It's a nice starter, and an easy read. It has introduced me to most of the key elements of ROR so far an only 1/2 way through.

Last edited by eroomydna (2009-04-14 07:57:27)

Re: Beginner Book Suggestions:

I would start with learning the Ruby language first, then progress into Rails.

Personally, I've found that the more I learn about Ruby, the more Rails make sense (naturally, because Rails is written in Ruby and they share many similar programming philosophies).

As for a beginner book for learning Ruby:

"Beginning Ruby: From Novice to Professional"
by Peter Cooper

As for Rails beginner books, there are tons, but I would recommend:

"Simply Rails 2"
by Patrick Lenz

"Agile Web Development with Rails, Third Edition"
by Sam Ruby, Dave Thomas, David Heinemeier Hansson, et al

Two other mentions:

Why's (Poignant) Guide to Ruby
(I won't even attempt to explain, just check it out.)

The Art of Rails
by Edward Benson
(It's a little advanced for a beginner, but I would highly recommend at least reading the first chapter. It will give you a great macro-view (the big picture) of where we've come from, where we are at and where we are headed with web application development technologies and paradigms.)

Hope that helps.

Re: Beginner Book Suggestions:

You dont need to master ruby in his whole details. I recommend "Agile web development with rails" from Sam Ruby et al. Clearly you need the Version 3 which is made for Rails 2.2.

I ordered at the same time the Ruby Programming Language 1.9 but i have not make a single look into it since it arrived.

Most of Rails are conventions. You need pure ruby knowledge only when you start to write plugins and stuff.

Well, I thought. This is how the world works. All energy flows according to the whims of the Great Magnet. What a fool I was to defy him.

Re: Beginner Book Suggestions:

If you are new to both programming and ruby, <Learn to Program> should be a good book to start with. It is small and simple.

If you want to get you foot wet with real codes, you may like <Beginning ruby - from novice to professional> more.

There are more books for ruby beginners, I wrote a list of these books: … -beginners
I compared these books for ruby beginners and told the differences between them. I hope it can help.

Re: Beginner Book Suggestions:

k-b wrote:

You dont need to master ruby in his whole details. I recommend "Agile web development with rails" from Sam Ruby et al. Clearly you need the Version 3 which is made for Rails 2.2.

I ordered at the same time the Ruby Programming Language 1.9 but i have not make a single look into it since it arrived.

Most of Rails are conventions. You need pure ruby knowledge only when you start to write plugins and stuff.

This is horrible advice. Learn some Ruby before you jump into Rails, the learning curve that people whinge about will be less evident if you understand at least basic Ruby before you get stuck into a Rails application.

Start with Chris Pine's book, it's perfect if you have no knowledge. Peter Cooper's Beginning Ruby is also great. After that go with Agile Web Dev with Rails, also get Programming Ruby (Pickaxe book) but I would say it's best as a reference guide (Google is also great for this) rather than a "teaching" book.

Last edited by cherring (2009-09-09 07:24:10)

Re: Beginner Book Suggestions:

Learning to write software is such a personal thing that it's almost impossible to give you an answer that will definitely suit you.
Having read all the replies so far I have to say that there is not a single incorrect response.
I can see how every single reply even the contradictory ones have something to offer.

What you need to ask yourself is how passionate you are about development?

If you just want to knock out a few websites and have a play around then AWDWR would get you started but I would not recommend Rails as a starting point for any serious developer as you have to learn not just one language but 5, namely HTML, CSS, SQL, Ruby and Rails (Rails does bring it's own flavour to the ball game).
On top of that you then have to understand how it all fits together. It's a mamoth task and learning to do it all in one go properly almost impossible.

I have thought long and hard about this question and asked myself where I would like to start if I were starting from scratch now?
I found the answer but before I say what that is, an explanation of what I would be looking for might help.

From my point of view I'm very passionate about technology. Rails/Ruby is the latest addition to my arsenal of over 14 computer languages now and one of the best combinations I have come accross.

If I were starting from scratch I would want to be taught how to design good solutions in an Object Oriented environment.

I would want to be using the best commercially viable OO language that would give me employment opportunities. Currently c# fits this bill but Ruby is rapidly becoming the language of choice in commercial environments. Where skill sets fit there are a lot of new projects being started making use of Ruby in preference over c# in the commercial world.

I would like to learn how to deal with just one language and one database environment and I would want to learn how to do good database design.

I would want to learn how to find the best solutions and to understand all the considerations that have to be taken into account when dealing with good interfaces for end users.

I would want to learn how to write maintainable and understandable code and I would like to learn in a consistent environment.

So what language would I use if I were starting out now?
Five years ago I would have responded with Delphi.
Three years ago I might have been torn between C# and Deplhi because by then Delphi had majorly shot itself in the foot and C# would make you commercially attractive.

Now, today, I have to say without any hesitation that I would want to learn Ruby.
It's such a fabulous language and is fast becomming a commercially viable option plus it ticks all the above.

So my personal recommendation
1) If I just wanted to play around then get AWDWR and knock up a couple of sites, have a play and enjoy.

2) If you are at all serious about this then forget about Rails for the minuite and start with Ruby. Get yourself on a good software design course at your local uni or college (There are some. Honest) and pick up whatever reading material that suits your style. Learn how to write good code and learn what makes the difference between a really good programmer and a jobbing coder. Take pride in your code and treat the whole experience as learning how to create fantastic works of art that others will love to work on.

I hope that helps in some way.

Last edited by jamesw (2009-09-13 00:46:59)

What you want and what you need are too often not the same thing!
When your head is hurting from trying to solve a problem, stop standing on it. When you are the right way up you will see the problem differently and you just might find the solution.
(Quote by me 15th July 2009)