How much Ruby?

I bought the pickaxe about 1 1/2 months ago, and I have been reading
through
it and learning Ruby in my spare time. I’m about 200 pages into it, and
I’m
starting to think I don’t need to know all of the in’s and out’s of Ruby
to
get a good hang on Rails.

How much Ruby do I really need to be proficient in Rails? Ruby is a
great
language, I love it, but I don’t see myself ever using it outside of
Rails.

Thanks a lot,

“Matt” == Matt R. [email protected] writes:

How much Ruby do I really need to be proficient in Rails?

Honestly, this kind of question baffles me. Rails is a Ruby framework.
In order to use Rails, you write Ruby code. Thinking that you can
somehow be proficient in Rails without being proficient in Ruby makes
about as much sense as thinking that you can write in English without
learning the latin alphabet. True, that alphabet is also used for
other languages and, true, you may never write a single word in any of
those languages – but that doesn’t somehow mean that you don’t need
to learn the alphabet to use it in English!

	     Calle D. <[email protected]>
	 http://www.livejournal.com/users/cdybedahl/
  "It's not much of a silver lining, but I'll take what I can get."
		  -- yasminm, on LiveJournal

On Apr 25, 2006, at 3:04 PM, Matt R. wrote:

How much Ruby do I really need to be proficient in Rails? Ruby is a
great language, I love it, but I don’t see myself ever using it
outside of Rails.

Keep in mind that there’s a difference between “productive” and
“proficient”. You can be “productive” in Rails without knowing a lot
of Ruby at all, outside of some of the basic structures (e.g., loops)
that are common to any modern programming language.

But if you want to be “proficient” - if you want to use some of the
more complex Ruby idioms like blocks and iterators, if you want to
write your own DSL on top of Rails, if you want to write code that
grafts itself into existing classes, if you want to extend Rails with
plugins - the more Ruby you know, the better off you’ll be.

The good news is, you can learn a lot of Ruby by osmosis, just by
reading the Rails source code. Pick a feature of Rails that you want
to learn more about, and connect the behavior you see with the source
code that implements that behavior. Just like learning any foreign
language, there’s no better path to true understanding than immersing
yourself in that language.

David

I might be chastised for saying so, but generally I think it’s more
important to understand the general approach of a language and start
coding rather than worry too much about understanding everything before
you embark upon a project using it.

If you already develop web applications to a good standard, those
standards will be passed on to any new language/platform you move to.

For me, Rails had everything i’ve been working towards with my own PHP
applications. I’ve found myself questioning for my next project: ‘do i
recode all my PHP methods to fit in with my ideal view or take the hit
of a hard-core learning curve and using Rails?’.

Ruby is obviously the core of Rails but I don’t see a problem with
learning along the way. Rails has some pretty strong opinions of how
applications should be developed and it doesn’t mind enforcing them. As
such you can be fairly sure that doing things the ‘Rails’ way is doing
things the ‘Ruby’ way too. I see this as a good thing :0)

Saying that, i’m a born hacker so you might not want to trust my
opinions too much :0)

Steve

How much Ruby do I really need to be proficient in Rails? Ruby is a

this is covered in the foreword or one of the first chapters of Ruby for
Rails, which last i checked Amazon the print edition is coming out in 7
days (you can buy the PDF edition now and get a hardcopy when it rolls
off the press)

personally i think you dont need to know any Ruby, if youre just
sticking to a basic CRUD site. if like me you started thinking about how
to replace activerecord with something that doesn’t use SQL, or want to
know how ezra’s ez_where plugin works, you need to understand ruby

it can’t hurt to learn ruby - it is in a unique position in that it came
‘after’ other popular languages like Perl, so it was able to pick nice
things about them, a la carte. if your idea of metaprogramming includes
throwing out the concept of OO entirely (or inventing an OO system from
the ground up), id check out TCL, otherwise Ruby has most facilities you
might need…

Hi –

On Tue, 25 Apr 2006, Matt R. wrote:

I bought the pickaxe about 1 1/2 months ago, and I have been reading through
it and learning Ruby in my spare time. I’m about 200 pages into it, and I’m
starting to think I don’t need to know all of the in’s and out’s of Ruby to
get a good hang on Rails.

How much Ruby do I really need to be proficient in Rails? Ruby is a great
language, I love it, but I don’t see myself ever using it outside of Rails.

Funny you should ask :slight_smile:

I think that Ruby skills are very important for Rails developers who
want to go beyond the level of just getting a limited number of Rails
things to work. And I really want to encourage Rails people to
embrace Ruby for the productive, pleasurable thing it is, and for its
central role in both using and understanding the Rails framework.

So I wrote a book :slight_smile: (See sig, below.)

On the Amazon page for the book you’ll find some info and a post from
me summing up the goals of the book (and why I think they’re
important).

You can also get a couple of free sample chapters on the book’s home
page at Manning, Ruby for Rails, as well as the Table of
Contents, DHH’s foreword to the book, and the Preface. There’s an
Author Online forum there, too.

Anyway, I don’t know what others will say but that’s my answer to
the question! :slight_smile:

David


David A. Black ([email protected])
Ruby Power and Light, LLC (http://www.rubypowerandlight.com)

“Ruby for Rails” PDF now on sale! Ruby for Rails
Paper version coming in early May!

Thanks for all of the responses. I’m not trying to find an easier way to
learn Rails and make nice web applications, but some things I have been
learning and working on don’t really seem to apply when you’re working
with
Rails.

I planned on finishing the book and learning as much Ruby as I can,
because
it’s fun and a great language.

Thanks again

On Tue, 25 Apr 2006, David R. wrote:

But if you want to be “proficient” - if you want to use some of the more
complex Ruby idioms like blocks and iterators, if you want to write your own
DSL on top of Rails, if you want to write code that grafts itself into
existing classes, if you want to extend Rails with plugins - the more Ruby
you know, the better off you’ll be.

I would say that you can understand these concepts in other languages
(e.g. Smalltalk) and just map them to Ruby. I certainly am not a Ruby
expert, but I do know Smalltalk well enough, and I “just got” Ruby
blocks
and open classes the first time I saw them – and I thought “ah finally,
a
usable language.”*

–Jim

  • apologies to the LISPers

I’m not trying to find an easier way to learn Rails and make nice web
applications

Really? I am. Rails is an easier way to make web applications, and
if it wasn’t nobody would be using it. Seriously though, I do know
what you mean. I’ve been learning rails, and just learning ruby as I
go along. It seems to be working ok for me. I know that at some point,
I am going to have to sit down and learn all the ruby theory, but the
way I see it, at the moment, I don’t really need to.
-Nathan

So I wrote a book :slight_smile: (See sig, below.)

David


David A. Black ([email protected])
Ruby Power and Light, LLC (http://www.rubypowerandlight.com)

“Ruby for Rails” PDF now on sale! Ruby for Rails
Paper version coming in early May!

Thanks for your book, David.

I am not a typical technical geek. I come from management and sales, and
started with developement from the user angle, I understood the
customers, and quickly become in charge of translating the users demands
to the technical guys.

I have been working with a 4GL tool (eDeveloper Magic) for 12 years, and
a few years ago I decided to learn Java to develop a Web client to our
software application (Oracle-based). I bought books (Eckel etc), read
them and we started programming. But too much overhead (Jakarta,
Velocity, SPring, ANT, Struts, Java WARS, XLM-configuration, etc)
compared to my beloved tool eDeveloper Magic.

And then came Rails. I found out about it a few months ago, and got
really excited. It has a bit of eDev Magic approach to it. And I bought
books (Pickaxe, Agile Dev. w Rails) and started.

Last week I bought your book.

And I give your book the best marks! Superb explanation of objects and
classes. For the first time I actually think I understand it!! And the
chapter on modules and mixing a module with a class is crystal clear. I
just read it and understood. It´s like reading a work of philosophy
(which I also love!).

From my angle I want to understand what I do, I want to connect “my
world”, the customers´ world to what goes on within an application. Just
repeating what someone else shows you and doing it without knowing what
you do is what I call “Parrot” knowledge. When something goes wrong you
don´t understand why. I tell my customers every day not to settle for
parrot knowledge of my application: “try to understand why to do this,
or why to do that, then you don´t have to call me when you get stuck”.

So I want to learn why does Rails do this or that, and that´s where your
book stands out in explaining! It has been a real joy to read, and how
often can you say that about a book on computer languages.

God bless,

Per-Olof H.