4 ms·
I've always been wary of the online programming sites like codecademy and the like, because when I did Rails for Zombies I realized it never shows you how to se
by mehrzad 14y ago
I've always been wary of the online programming sites like codecademy and the like, because when I did Rails for Zombies I realized it never shows you how to set up an actual Rails application nor how Git and Heroku work. Are all the tutorials similar in that they baby you?
- kaoD 14y agoYes they are. I had a couple friends who wanted to learn JavaScript and went to CodeAcademy's course[1] only to find it was more like Programming 101. Not a single mention of what is a closure, how you can modularize your code, how prototypes actually work, etc. [1] http://www.codecademy.com/tracks/javascript http://www.codecademy.com/tracks/javascript
- mattmanser 14y agoThat's because for 99% of javascript written today in the Real World you still need not know a single thing about those things. You simply can't cater for every ability level in a single course.
- kaoD 14y agoI don't agree. Modules and closures are needed in any serious JS development out there. Believe me. I worked in a codebase where they thought they "still need not know a single thing about those things" and boy was that a mess. No wonder JS devs are considered crappy coders with that kind of mindset.
- mattmanser 14y agoMost sites are not one page apps. Their js is silo'd per page. You misinterpret my personal skill level, I don't believe you as I've worked on more than one codebase of both kinds. Most javascript today is still employed as the scripting language it was originally introduced for. It does very little apart from open a lightbox or get something via ajax or something trivial like that. There is a tiny % of javascript coders like us that use it to write programs and an even tinier percentage that use coffeescript. It is worth keeping that in mind at all times when discussing coding. You don't have to be an architect in order to make a wall. I also spent time running courses for non-coders in basic coding in a previous job to allow them to slightly customize their own product. Going in with advanced and abstract concepts like closures is a sure fire way to frustrate a student, not enlighten them.
- kaoD 14y ago> You misinterpret my personal skill level What made you think that? My point is not that you suck as a developer. Even when building tiny apps global variables are EVIL and they will eventually make you shoot yourself in the foot. Closures and modules are basic concepts in JavaScript because, well, the language is inherently flawed and you have to work around it. > You don't have to be an architect in order to make a wall. But you shouldn't bind bricks with gum either. If you do and the wall collapses, who's to blame? Would you teach bricklayers to bind with gum because using cement is hard for beginners? This is not an architectural issue. This is about basic skills. > Going in with advanced and abstract concepts like closures is a sure fire way to frustrate a student, not enlighten them. I agree there, but my simile about the bricklayers and the gum stands. Sure, you'll frustrate beginners, but what about a last chapter about advanced techniques or at least mentioning it? Specially since closures are a core concept in JS. Avoiding the issue will never turn beginners into advanced beginners/competent coders. Lack of information in key areas does more damage than excessive information because it creates a false sense of security that eventually leads to sore feet :)
- nicholassmith 14y agoThey're a kick off point I've found, they teach a man how fishing could work, and point off from there. They're great for picking some nice basics and then the expectation is you'll head off and learn from there. It's not a great end to end solution though. I'd say the Rails tutorial by Hartl is the best for the end to end coverage, but often they never seem to go that far.
- TDL 14y agoMy experience is that those sites are best used understanding the languages themselves. There are other tutorials (like Michael Hartl's Rails tutorial) that walk through building an application from scratch while learning the language (or at least the framework.) I think some of these sites can do a much better job when it comes learning how to create projects, but I don't necessarily think that is what they were targeting originally.
- vickytnz 14y agoI did Code Year and was pretty critical of it (I've blogged about it but won't spam here!), particularly as it got less and less immediately practical over the course of the year and spent the last 3 months doing Python (which was bad enough for me who has experience with PHP, HTML/CSS, and JS) I hate to think what it'd have been like for people still getting their heads around coding!