Hi,
I would really like to learn Rails. Problem is that I don’t know any
programming, besides average HTML and CSS. I’ve had to start from
scratch but most RoR-resources out there assumes you have at least prior
experience from PHP, Python, Perl or whatever.
I’ve done +10 online tutorials on Ruby and Rails, gone thru Prag. progs
“Learn to program”, made it halfway thru Agile Web D. with
Rails and Beginning Ruby on Rails. I’ve also finished “Ruby for Rails”.
Still it seems that I lack the fundamentals to really take it all in.
Scaffolding, eRB, etc. is neat, but I would really like to be able to
have more control and understand what’s actually happening.
Does anyone have any tips on how I could get better programming
fundamentals? Should I attack a beginners-book for say Java or PHP and
then move over to Ruby or is there an easier way?
I’ve written a tutorial that doesn’t presume a lot of prior
programming. I walk you through the basics of Ruby, the basics of
Rails, and the basics of MySQL. I try to focus on the fundamentals
and the big picture concepts. Familiarity with computers and HTML is
probably the only thing you need.
I’m with Anthony you obviously arn’t getting it by reading books.
Personaly I would say stop asking questions, go pick an application type
(ie. shop, forum, webmail, blog, etc.) that you haven’t done before and
plan one out. Don’t look at any textbook expecting it to tell you how to
do it. Get as far as you can on your own; then ask what do I still need?
Then go find an answer.
Simple fact of modern society/science you will never know it all so just
learn what you HAVE TO KNOW.
To answer your second question about learning Java or PHP first, I
would say that you don’t need to do that. You might pick up some bad
habits!
To learn programming fundamentals, you have to ask yourself about the
way that you learn. If you learn best by listening to others, then
take a class or watch videos. If you learn best by reading books,
then read the books that people have already recommended. To really
learn, though, most people agree that you have to actually write
programs. Take the concepts from the tutorials you’ve done and re-use
them. Don’t cut and paste; take the time to put them into your own
programs.
Keep asking questions because there are lots of super-friendly people
on this list. Keep watching this list and try to answer other
people’s questions. Besides giving something back, when you can
explain something, you’ll know that you know it.
If you’re a perfectionist (be honest to yourself), don’t try to write
the perfect program the first time out. It takes many repetitions to
get there.
Finally, if you know HTML and CSS, then focus on views first so you
can quickly see the results of your code changes. While learning
rhtml, you can learn a lot about basic things like loops and helper
methods. I have a proviso: don’t try to do lots of complicated stuff
in views-- you’ll learn later that more substantive work is done in
models.
I don’t really get what you don’t understand. I was going to suggest
Ruby for Rails, but if you’ve finished that, you should have a rather
firm grasp on both Ruby and Rails. What precisely dont you feel
like you understand? Basic concepts like variables and flow control?
Or more advanced concepts like object-oriented design and
metaprogramming?
Well, let me ask you this: can you read others’ code? Put writing
code aside for a second, pick up some Ruby, and then try to figure out
what’s going on. Can’t do it? OK, pick up one of your many
Ruby/Rails books and look it up. They should explain the mechanics
behind it and you should be able to learn things for the future that
way.
I think my fault has probably been wanting too much, too soon =) It’s
probably better if I try to get a more firm grasp of Ruby… I’ve
ordered the Pickaxe and will attack it during next week. In the meantime
I’ll give your humble little book a try Jeremy!
Thanks a million guys, the Ruby/Rails-community certainly lives up to
it’s friendly reputation. I’ll try to pull my weight, once I know how =)
Cheers!
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.