Via Hacker News, Zach Shapiro has some thoughts on how to learn to program. One of the points he makes is about Code Academy, a resource I recently wrote about.
Zach thinks CA is a less optimal way to learn because it's all done inside a web browser and doesn't teach you how to set up a real development environment i.e. the tools and resources you need to program properly standalone.
This is a good point and is something that Code Academy should probably try and incorporate into their coding tracks. Of course, the track I've been through, Javascript, is native to the web browser and so has less need for an "outside the browser" environment. But a language like Python is not browser-native and so would benefit from a guide on how to set it up. A language like C++ more so.
Learning some basics using a simple browser based environment can definitely be a useful start though.
If you're interested in learning to code, the post is worth reading.