A couple of months ago my sister approached my and asked "How do I learn how to make websites?" She has no programming experience, so I thought for a while on where to start. I figured if I showed her what I was working on in Python/Django, she would be completely overwhelmed. So I started with just HTML. As she worked through that, she started asking questions like, how to change layout and fonts, so we started working with CSS. She's not at the point yet, but I think PHP is going to blow her mind, as I've seen her copy/pasting stuff from file to file.
I think its important to start at the beginning and learn some of the pain points that these frameworks solve before jumping in. Otherwise you just get frustrated wondering why things are set up a certain way.
That's the nail on the head right there. Without any context even the conventions of Rails seem like arbitrary decisions just to make things complicated. Once you understand the problem you can appreciate the solution.
I'm not sure. I remember learning HTML and CSS through WYSIWYG editors such as Dreamweaver (essentially abstractions, no?), and then getting frustrated by how much excess code it was adding. That then gave me the impetus to delve into the code and then begin learning the HTML, CSS, principles informing the design. Had I started back then trying to tackle HTML head on, I might have been overwhelmed.
Similarly, I'm trying to learn building web apps at the moment. I'd rather have some decisions taken for me by Rails (in the knowledge that they've been based on some kind of best practice / consensus) and try and build backwards from there. It's probably not the purists way of learning, but then I don't have the level of expertise a purist probably does.
Coming to Rails frustrated with the slog that you have to deal with otherwise is exactly the path that Rails was designed to accomodate. You know and appreciate the fact that Rails is making decisions for you to help you get going while a beginner would probably be overwhelmed by all the complexity.
Absolutely - and in fact, one of the virtues of the better Rails tutorials is that they do expose you to some of the complexity.
You learn to understand that things are passing between the model and controller, and the rough sequence of things. I've come to appreciate the basics of a RESTful approach, and why things are as they are. I'll of course need to take away the abstraction over time, but without having the abstraction in the first place, I probably wouldnt have started.
That said, I second the point about getting it installed. I shouldn't have to be on StackOverflow for that.
A couple of months ago my sister approached my and asked "How do I learn how to make websites?" She has no programming experience, so I thought for a while on where to start. I figured if I showed her what I was working on in Python/Django, she would be completely overwhelmed. So I started with just HTML. As she worked through that, she started asking questions like, how to change layout and fonts, so we started working with CSS. She's not at the point yet, but I think PHP is going to blow her mind, as I've seen her copy/pasting stuff from file to file.
I think its important to start at the beginning and learn some of the pain points that these frameworks solve before jumping in. Otherwise you just get frustrated wondering why things are set up a certain way.