Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been coding PHP for years and am just starting to learn Ruby on Rails. I'm not a programming expert at all, and so most of the objections mentioned would take me a while to parse.

From my perspective, Ruby on Rails is really, really difficult so far. You have to learn to use the terminal (which I've seen other people in my position use to totally mess up their computers); to make a simple application you're already looking at maybe a dozen files, many of which you don't understand; most importantly for me, because there is a lot of stuff going on that you can't see, it's very hard to extrapolate from examples.

I have learned what programming I know from breaking apart example programs and then using the pieces to build other things. I'm not good at learning from textbooks or tutorials. This has proved very difficult with RoR so far. I'll take components that look like they should make something happen, and then they'll throw an error that I don't understand and can't seem to locate.



Don't start with rails, start with ruby.

Doing otherwise is like trying to learn PHP by looking at the Drupal codebase.


I did, and Ruby was quick and easy. I wrote a bunch of programs and felt comfortable enough that I could understand stuff if I looked at it. But Rails seems like a whole other animal. And your right, this is the difference between languages and frameworks. But, without Rails I'm not sure how to get to a web app with Ruby. With PHP I was writing web apps before I really understood the language.

I don't mean to be saying that I'm doing it right, or that mine was a good way to learn programming. Just mean to be giving a data point about the relative approachability of PHP and RoR for actually making stuff as a beginner.


Start with Sinatra (http://www.sinatrarb.com/) instead. I had worked with PHP for a little while, and I decided to try out ROR. I could not understand it at all. I did some plain ruby for a while.

Eventually, I heard about Sinatra, and decided to try it out. It's a great way to learn about web apps. You'll learn the HTTP verbs if you haven't already, and you'll understand the routing process.

When you jump into Rails, you'll already understand Controllers and Routers, since Sinatra is basically the router and controller of Rails combined. You'll probably learn about views too.

Basically, learn sinatra, then go to Rails.


Agreed, rails is hard. Personally I prefer Sinatra and Ramaze since they are much simpler to understand.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: