Is learning a framework harder than to learn programming?
I learned C/C++, Java, SQL and know how most common patterns work.
But I've never really used a framework before and a few months ago I wanted to work with rails. But for me it was harder than learning about 4 star pointers or something like that.
Especially if you programmed nearly everything before by yourself it's hard to get comfort with the "magic" behind rails.
I tried to create some small webapps with rails to get in touch with it, but to be honest: without Ryan Bates awesome railscasts I can't write a single line of code!
How did you learn to work with frameworks like rails or django? Is learning a framework harder than learning programming?
8 comments
[ 3.4 ms ] story [ 27.3 ms ] threadEnd result: in your particular case, "learning the framework" and "learning to program" amount to basically the same thing. What makes it harder this time, as opposed to the first time you learned to program, is that last time you had no preconceived notions. Now you do -that's inevitable- but only some of those notions will apply in this new way of programming. This would be just as true if you went in the other direction; you haven't learned things in the "wrong" order or anything like that. A "wrong" order probably doesn't even exist.
The good news is that you're not alone. This happens to everyone when they first hit something wildly different from the way they first learned to program. As you do more of them, it gets easier, but the first big wall is always a shock. Good luck getting over the wall.
It does not matter if you want to learn framework a language or how to use a products API.
What really matters is if there is a good a documentation and some tutorials to get you started.
I often settle for the sollution with less features but a better usabilty.
Trying to learn an MVC framework without understanding the underlying architecture is definitely a large task. Trying to do that without a firm understanding of the nuances of the programming language used is even harder.
The art of building web applications today, in itself, is much more complex than it was 10 years ago - mostly due to the every growing selection of tools that make it easier for experienced developers to build web applications. This in turn can make web development seem daunting.
Personally, when I started learning Rails, I had a foundation of working with rudimentary frameworks in other languages. When I discovered Rails, it did quiet a bit of what those other frameworks accomplished and then some. Then it took it further and pushed the envelope (i.e. REST support for urls and routing, more recently including CoffeeScript and the Asset Pipeline).
While there's a ton of learning resources out there for learning Rails, it can be really hard to put them together and figure out what in what order you need to learn new concepts.
That being said, I think The Flatiron School did an excellent job getting together a list of learning resources: http://prework.flatironschool.com/ - Just a heads up that it recommends CodeSchool and Tree house which are subscription services. If you're serious about learning, I'd consider the subscription cost to be a small investment.
The one resource that Flatiron Prework didn't mention is the Rails Tuturial: http://ruby.railstutorial.org/ruby-on-rails-tutorial-book
If you really want to dive into ruby, I'd recommend The Well Ground Rubyist by David Black.
When we learn, we learn by applying new material to what we already know. Hence foundations and context. When you read, especially something like a book on programming, you're not going to absorb it all. Also, programming books shouldn't be treated as one and done reading. Each time you read, I guarantee something will pop out based on previously acquired knowledge.