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

I teach Rails a lot. I've ranted and raved for the last year how Rails 3 is much harder for a beginner to grasp than previous versions, but the things that make it difficult for the beginners are not specifically Rails itself. Usually the difficulties come from a few specific things:

First, it's the absolutely fragmented ecosystem, made up of everyone who has opinions on the best way to do Rails development. "You need this gem, and this gem, and ZOMG you're using that library? So last week! Use this one!"

Sure, it's funny to exaggerate that, but if you joined a community, you'd probably look around. A person who does daily work in Rails is going to have a preferred development stack. They may write tests with Rspec, they may use Cucumber. They may even use CoffeeScript. And they'll tell a newbie that they should too.

But a wide-eyed developer who thinks Rails will solve all his or her problems will get freaked out at all of the options available.

When I teach beginners, I don't teach RSpec or Cucumber, and I try to even avoid talking about Bundler. I stick with the core components of Rails. I stay on the happy path. Rails has all these hooks for experts that you can unravel after a few months (or years) of daily work. But a beginner can understand ActiveRecord, controllers, and views easily.

I love the Dreyfus Model. It basically says newbies don't need choices in the beginning. They need clear instruction, clear tutorials. Once they master those, they can move on to reading the docs, exploring the options, etc.

I've been pretty successful teaching Rails to folks who know how to program.

Where Rails falls flat on its face for the beginner is when the beginner doesn't know SQL or HTML. That's a whole different ballgame. Then something like Sinatra is a nice slow introduction.



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: