Live data from Hacker News

Rails is Definitely Not for Beginners

rob.yurkowski.net

1–10 of 45 posts

Re: Rails is Definitely Not for Beginners

#3
These theories all miss the basic point. Yes, Rails is not a good way for a beginner to learn proper professional programming. The proper way to do that is to write nice, fairly-mathematical code in Scheme or Python until you understand recursion, algorithms, etc.

But learning to become a professional programmer isn't most people's goal. Rails is the fastest way to go from "I want a webapp that..." to "I have a webapp that sorta..." and it is that ability to build useful, visible things very quickly (even if they have lots of bugs and problems) that gets people interested enough in programming to actually sit down and learn the hard parts.

Re: Rails is Definitely Not for Beginners

#5
As a n00b trying to learn how to program, I completely agree with your points about Ruby on Rails. After getting in over my head going through a few rails tutorials, I took a step back and realized that while I could create really basic web apps and go through the keystrokes to write code and commit to Git, I didn't understand what the hell I was doing from a conceptual level. It was rote code copying from a tutorial or a book while leaving out the layer of actually understanding what and how the program works. It felt hollow.

I then took a step back and went to MIT's OCW courses that use Python to teach the basics of CS. None of the lectures introduced Django or other web frameworks, rather, they used Python as a means to teach core CS concepts. From there, I used the basics of what I learned to create simple scripts and conceptually understand what I was coding.

Then, I slowly ventured into Django tutorials. But even with the Django tutorials, I'm taking a step back because I'm having difficulty wrapping my head around databases, structuring data models, and basically, learning how to PLAN an app before I write code.

At the end of the day, I think it is really difficult to learn how to code on your own because it is so much more than learning syntax. This is where mentors and the community comes in. Mentors matter a whole lot more than great tutorials and working on a real project with other, more seasoned developers (basically, an apprenticeship) completes the circle of going from complete newbie to "entry level programmer".

Re: Rails is Definitely Not for Beginners

#6
I would never recommend Rails as a project for beginning programmers. Having to juggle syntax, convention, and well, everything backend related, is not something that will ever be beginner level.

But I could still see it being something for programmers trying out web-app development. It's convention and opinions is kind of helpful in showing how things could be organized.

Re: Rails is Definitely Not for Beginners

#8
I've been on Rails for close to 15 months, before that about 10 years on PHP. It took me a little bit to grok Rails, but it was mainly about trying to understand where Ruby ends and Rails begins.

I had done a ton of OO PHP and MVC stuff on Zend Framework, so I quickly grasped the questions around what code goes where.

The hardest parts for me to understand was the ways you could redefine classes on the fly, modules, blocks and closures. For a self-taught programmer coming form PHP-land those are all new concepts.

(Though I had a smidgen of experience with closures via JavaScript, I don't recall any tutorials making a direct comparison. It was only later one that I saw the similarities.)

Re: Rails is Definitely Not for Beginners

#9
I think part of the problem for beginners is that both the breadth and depth of the skills required for web development have increased so much. This post focuses on the depth required to learn Rails properly: you must understand Ruby (which is much more sophisticated than, say, PHP 3) as well as MVC, REST, and so on.

But at the same time, you are expected to develop for multiple platforms (desktops, mobile devices), to understand how to integrate with a wide variety of other services and APIs (Facebook, Twitter, S3, payment gateways), to know how to measure and optimize performance and other factors like conversion rates, and to understand SEO (which, just on its own, has a much larger learning curve than it did a few years ago), and that's just a limited selection.

There is, of course, one standard way to gain all of this knowledge: go and get a formal education in the field. But if you want to just dive in without that, these days that approach requires remarkable dedication and discipline, even if years ago it was a reasonable approach to learning.

Re: Rails is Definitely Not for Beginners

#10
post #3

These theories all miss the basic point. Yes, Rails is not a good way for a beginner to learn proper professional programming. The proper way to do that is to write nice, fairly-mathematical code in Scheme or Python until you understand recursion, algorithms, etc. But learning to become a professional programmer isn't most people's goal. Rails is the fastest way to go from "I want a webapp that..." to "I have a webap…

I'm not talking about 'professional programming', really—I'm talking about being able to achieve a reasonable outcome in a reasonable amount of time.

I'm not even interested in people becoming good programmers. My point is that people who will spend the time to learn the hard parts will benefit more from learning from the lowest level that makes sense to them, rather than trying to learn Ruby and the CLI alongside Rails as they muddle through an app. We'll see better conversion rates if we encourage beginners to start from the beginning, and to spend even a modicum of time learning those technologies.

Post reply on HN