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

This article has a major, major fault. It implies that learning happens step by step, and to learn new things you have to stop what you're doing and move onto the next thing.

This is not how it works. Well, in my case. The way I learn, and have learnt for the past several years, is by diving in head-first and facing the facts 1,000 times at once. I didn't learn python, then learn MySQL. No, I learn Django which taught me the two, plus how to build a web framework, how to do unit and functional testing, how to scale and deploy application, how to interact with organized and structural programing, and how to be the best programer I can be.

Learning doesn't happen step by step, it happens in a vast flow. In high school, did they teach you how to write an essay, then let you write a little English, then move onto History? No, they threw you in head-first with 6 or more classes a day, and made you face the facts. If you really want to learn how to "Hack", dive in face first, don't think about the consequences, fight for your life and do what ever you can do to learn new things.



Learning Django is not at all synonymous with learning Python and certainly not at all synonymous with learning SQL. The entire point of a framework is to abstract out things such as SQL via the use of an ORM. While learning Django you do indeed learn the syntax and common of libraries of Python, but it's hardly a good way to learn a lot about the language.

Diving in head first is a great way to learn by trial and error, but it should create a splintering effect. You start learning Django which uses Python; you like Python and go out and start learning more about it. This eventually splinters out into branches where you go elsewhere to learn about more fundamental programming concepts. You learn about this funky "SQL" stuff that Django is writing behind the scenes and branch out to learn how to write SQL queries yourself and concepts like indexes, triggers, stored procedures, locking levels...

But to say Django "teaches" you things like Python, SQL and scaling... it's naive and may even be insulting to anyone who has dedicated the years of their life required to truly learn these topics.


I'd agree with parts of your assertions. I tend to learn how things by diving in as well. But, I geared the post towards people who were starting from scratch. If one of those people tried to pick up RoR or Django, they would be hopelessly lost. So, This was intended to at least give them a direction.

Also, I posted the time frames to give an estimate of how long it would take to gain a basic grasp of the tools mentioned. I might have to edit to post to reflect that.


I fully agree. Learning is not a linear process. Those that ultimately learn the most are those who have probably failed the most. It is only through humility that you start to accumulate knowledge. I've run thousands of times into brick walls when it comes to programming, but I've had the stamina to backtrack and figure out why I hit a dead end (i.e., a compiler error, a logic error, etc.)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: