Live data from Hacker News

Rails is Definitely Not for Beginners

rob.yurkowski.net

31–40 of 45 posts

Re: Rails is Definitely Not for Beginners

#31
post #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…

I personally think software "engineering" should be considered a craft/trade. We should be apprenticed and developed under the direction of masters.

You can learn this discipline on your own, but you'll always be second rate to a developer who learned under tutelage from someone else. Whether it's in school or in the workplace, learning from others is incredibly valuable.

Re: Rails is Definitely Not for Beginners

#32
post #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…

I too am a n00b with Rails but I'm more of a reformed PHP programmer like the article describes. I can confirm that most framework tutorials are difficult and, as you say, feel hollow. The reason for this seems to me to be because there are about 10 different things going on and the tutorial can only really put a major focus on one or two at a time.

You first have to understand programming concepts themselves. This means iterations/loops, variables and assignment, etc.

Then you have to learn how language X implements those concepts. So you find out if you have to declare types and get the hang of the syntax itself.

Then you have to get into databases, how those work and the planning as you say.

On top of all that you then have to learn how MVC works which means you'd better get comfortable with OO programming, then learn at least 3 more languages if you don't know them already (HTML, CSS, js). Then you have to know how the server interacts with your code, and on and on. Oh, and don't let me forget learning your tools. The command line, your deployment tools (even if it's just FTP), version control, servers, and your text editor. There's a ton of stuff to wrap your head around just to write a simple blog script!

If you're new to programming and learning any framework you're screwed. You end up just copy-pasting code that you have no idea what it does and you haven't learned a thing. I think the article makes the real common sense point that in programming, just like any skill, you have to master the fundamentals before anything else. A lot of words and explanations just to say "learn the basics before moving on or you'll never learn anything". But I'm glad he said it, it was a good article and made sense.

Re: Rails is Definitely Not for Beginners

#33
post #29
post #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…

Flask is another Python Web framework. It's simpler and easier get started with. Try going through the Flask tutorial ( http://flask.pocoo.org/docs/ ) and see if it's easier to follow. Here's some resources for getting started with Python ( http://www.quora.com/How-can-I-learn-to-program-in-Python/an... ). And if you're a total newb and need to go over basic programming concepts in a simple language, try "Tcl for Web…

[deleted]

Re: Rails is Definitely Not for Beginners

#34
post #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…

I personally think software "engineering" should be considered a craft/trade. We should be apprenticed and developed under the direction of masters. You can learn this discipline on your own, but you'll always be second rate to a developer who learned under tutelage from someone else. Whether it's in school or in the workplace, learning from others is incredibly valuable.

I think "always" is too strong a word. That's not necessarily true. I think it's more accurate to say that it's far harder to master the concepts yourself and you'll have a better chance of mastering it by learning from another expert but I see no reason why you can't master these things yourself. As long as you don't try to jump ahead and make sure you teach yourself in a logical, stepwise fashion from concepts to fundamental implementations, to working with implementing multiple concepts at once and beyond then you'll be okay.

I think what gives the person with a teacher the advantage is the structure of the lessons. People, especially newbie coders, want to build Facebook on day 1 and they're crazy enough to actually attempt it! A person who can control that impulse will fare just as well as someone with a mentor I think. You can take a million baby steps and accomplish great things or you can take one giant leap and fall flat on your face.

Re: Rails is Definitely Not for Beginners

#35
post #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…

For noobs who want to write web-based business apps , microsoft lightswitch seems like a much better tool.

Re: Rails is Definitely Not for Beginners

#36
I feel like railstutorial.org is a perfect introduction. If you crank through it (not just get the app working, but understand each part) it gives you enough of a foundation to start watching railscasts and read documentation for a certain gem.

Without it I think the Rails scene would be pretty hard to jump into.

Re: Rails is Definitely Not for Beginners

#37

Complete BS. Of course it is! Here was my response the last time someone posted an article like this: http://southpolesteve.com/rails-is-for-beginners Inspiration is what drives us to learn more on our own and get through the tough parts. This is what Rails does so well. Look at the way someone's eyes light up after running rails g scaffold for the first time and playing in their very own web app.

Can't agree more. Statement could have been "Rails if not for Uninspired,LAZY beginners".

Re: Rails is Definitely Not for Beginners

#38
Rails is a compilation of best practices collected over years while developing web applications. It's not a "Hello World" framework like Sinatra where you can be as simple or as complex as you like--inevitably reinventing the wheel in the process. It's framework designed for large codebases with templates, ORM, caching, views, MVC, etc. It requires you to think about your entire system and all its parts up front.

So no, Rails is not for beginners. Don't let the 15 minute blog video fool you.

Re: Rails is Definitely Not for Beginners

#39
This article touches on asking questions. There's a distinct separation between people that won't learn for themselves and those that have the focus to learn for themselves. You need the knowledge on how to seek things out for yourself if you want to be successful at a computer related occupation in general. Asking questions is fine, as long as you ask the right questions. And finding out the right questions to ask is solely on the person. A good example is in the article itself, with the person asking how to use Google. This is an example of a bad question. Using a search engine on the internet is trivial, but it does require the person to have the drive to read and think for themselves. Learning how to identify the right questions will help you immensely in understanding the concepts(for rails or otherwise).

Re: Rails is Definitely Not for Beginners

#40
post #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…

First: Good for you going through the process of learning stuff The Hard Way. I know exactly what you mean about the databases and proper modeling. I ended up reading through a basic book[1] and it really gave me a good perspective on how to decide what objects in your model will have database tables, which ones should have foreign keys into others, how to think of the relationships involved, etc. I think you're righ…

I just Kindled the book and worked my way through chapter 1. Seriously - I can't think of a better way to introduce someone to "classes" and explain what a "class" does within a program. This book is great thus far! If you have any other recommendations, I'm all ears!

In particular, these 2 topics come to mind: - Algorithm design - Data structures

Post reply on HN