Newbie; needs direction

I’m a very experienced programmer, but I’m new to ruby.

I’ve studied the grammar of the language already, I found it easy, and
I’m now looking for “good source code” that I can just read and learn
from.

I already studied ruby-dbi’s source code.

I considered learning AcriveRecord, but maybe I should wait a bit with
this.

My question, sort of, is: “What now?”

I know it’s a vague question. I’ll ask it differently: “I’ve studied the
grammar. OK. And I’m a good programmer, probably. What should be my next
steps in Ruby? Should I look for a ‘beautiful’ package, like Rails, and
study it?”

I’m somewhat at a loss.

Albert S. wrote:

My question, sort of, is: “What now?”

I know it’s a vague question. I’ll ask it differently: “I’ve studied the
grammar. OK. And I’m a good programmer, probably. What should be my next
steps in Ruby? Should I look for a ‘beautiful’ package, like Rails, and
study it?”

I’m somewhat at a loss.

Welcome to Ruby!

Two things. Well, three. No, four:

  1. Check out the Ruby Q. archives at www.rubyquiz.com. Lots of good
    code there.

  2. Don’t just read Ruby, write Ruby. Studying Ruby is one thing,
    experiencing Ruby something entirely different. But you knew that
    already.

  3. Hang around. This is a great community with lots of great ideas,
    experienced and talented programmers, and hot debates.

  4. Interact. Post your code. Ask questions. Answer questions.

Good luck!

Albert S. [email protected] writes:

My question, sort of, is: “What now?”

I know it’s a vague question. I’ll ask it differently: “I’ve studied the
grammar. OK. And I’m a good programmer, probably. What should be my next
steps in Ruby? Should I look for a ‘beautiful’ package, like Rails, and
study it?”

I’m somewhat at a loss.

If you’re a good programmer, or even a bad one (presumably you’ll
become better), why don’t you just program? Anything. For example,
you could try to implement an emacs in ruby. Allow to specify some
grammar, and have it behave like a structure editor. Another example,
a favorite of mine: just write an AI shell. Instead of typing unix
commands, you’d tell it what you want and it would generate the unix
commands needed to reach the goals you set.

Or perhaps you want to become a ruby scholar? Then indeed, reading
all these gems would help.


Pascal B. http://www.informatimago.com/

ADVISORY: There is an extremely small but nonzero chance that,
through a process known as “tunneling,” this product may
spontaneously disappear from its present location and reappear at
any random place in the universe, including your neighbor’s
domicile. The manufacturer will not be responsible for any damages
or inconveniences that may result.

My question, sort of, is: “What now?”

I think there are many answers to that question.
One answer I would like to give is to play a bit with ruby,
and then make a project or a release that includes setup.rb and
a gem-way to install that project.
That way you will know/learn how projects are done in the ruby
world, and i think it is always useful to have more people that
know how to release even small projects in ruby.

Very well put indeed Tim, justed wanted to say welcome too.

I guess the best idea was to ask the right question at the right
place, good luck with this marvelous language.

Robert

Again, Welcome to Ruby!!! Like you, I too am a Ruby N. so I hope my
take
here helps.

First, I agree. Write some code to get a feel of the language. As they
say,
programming is not a spectator sport. Start something small, anything
that
interests you. Browse Ruby Q. for some interesting problems and try
and
work them (Honestly, I need to do that :D)

Having said that, I think you already have a good start by looking at
some
of the existing code bases. I think you need to find a balance between
reading and writing. Reading will help you pick up a nuance (or a trick)
in
the language that most books will not cover, writing will help you
instill
it.

Another approach is pick up a book like Practical Ruby Projects [
http://tinyurl.com/3zrqbr], or something like Project Euler [
http://projecteuler.net/]. I personally find it hard to make up problems
unless they have a personal motive, so such books and sites help.
Another
one is 99 Lisp problems (Just google it).

One way to try and understand Ruby well is to write unit tests. Take a
class, say String, and write unit tests for all of its methods! Its
painstaking, but its a lot of fun, and you will get to know Ruby
intimately.

Sorry if I confused you even more than you were, but I do a bit of all
of
the above. Its just what I am in the mood for. Spend an hour reading
Rails
code coz I cant seem to figure out what its doing, then write some Ruby
code
for a module. Getting bored, jump on to a problem I am trying to solve
on
Eulers, then realize I dont understand how a particular method in
Enumberable works, so write some unit tests.

Hope this helps.

Happy Hacking.

Raju

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Albert S. wrote:

My question, sort of, is: “What now?”

Hi Albert,

on top of the other valid suggestions, and assuming you enjoy small
mathematical problems, you could try to solve as many problems in Ruby
as you can at http://projecteuler.net/. That’ll get you started. After
that, go ahead and start writing real programs and libraries.

Good luck,
Antonio


http://antoniocangiano.com - Zen and the Art of Programming
http://stacktrace.it - Aperiodico di resistenza informatica
http://math-blog.com - Math Blog: Mathematics is wonderful!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkgUi2gACgkQqCqsu0qUj9SgRwCdHS9mPjGZG4gd5GTovWHXFvVn
9KsAn32HP8uwK4qSZjiqO+Sf6Y2OwlWN
=Os+W
-----END PGP SIGNATURE-----

Thanks all!

I appreciate all your replies. (and am surprised at this warm welcome
:slight_smile:

Don’t just read Ruby, write Ruby.
[…]
why don’t you just program? Anything.

Yes, that’s what I’m going to do. I’ll write a small CGI game. I’ll
google for “paper and pencil games” and pick something interesting…

implement an emacs in ruby. […]
write an AI shell […]

(Ah, that won’t work. I want people to use my creation (ego, you know
;-), so an application for the web is preferable.)

Check out the Ruby Q. archives at […]

Interesting!

I personally find it hard to make up problems
unless they have a personal motive

That’s very correct, Raju. Yes, I do have needs some Ruby scripts can
solve.

Interact. Post your code. Ask questions. Answer questions.
[…]
not only asking but also answering questions.

(I’m already doing that …a little bit.)

[…] then make a project or a release that […]

I’d love to use rubyforge.org.

something like Project Euler [http://projecteuler.net/].

That sounded frightening at first, but I see there are certainly things
there I can tackle, and enjoy.

People,
thanks for the motivation injection, I needed it!

Hi –

On Sun, 27 Apr 2008, Albert S. wrote:

I’m a very experienced programmer, but I’m new to ruby.

Welcome! First lesson: you’re not a newbie; you’re a nuby! :slight_smile:

I know it’s a vague question. I’ll ask it differently: “I’ve studied the
grammar. OK. And I’m a good programmer, probably. What should be my next
steps in Ruby? Should I look for a ‘beautiful’ package, like Rails, and
study it?”

I’m somewhat at a loss.

I want to second Tim’s point about not only asking but also answering
questions. I can’t tell you how much I’ve learned about Ruby by
answering questions, specifically questions I don’t know the answer to
but feel I should and therefore dig around for. Obviously you need to
bootstrap yourself into the language before you’ll be comfortable
doing that, but definitely keep an eye toward it as you go.

David