I wholeheartedly agree that building a project is many times more useful as a learning tool than little 'for loop' exercises, but completely disagree with the idea that you should be learning DNS/Hosting/Dev Tools as step 1.
These concepts/tools are important to learn eventually, but are not the core of building software. One of the great things about Codecademy is that it abstracts away all of the yak-shaving/ops work so you can dive into what is actually interesting. Obviously this approach can only take you so far, but from my experience[1], I can't think of anything that would motivate a prospective learner less than banging his/her head against the command line, googling cryptic error stack traces, for X hours just trying to get a dev environment setup, just to (finally) write your first line of code.
[1] Quick background: I'm a full time developer, completely self-taught (did the HTML/CSS, and basic JS track on Codecademy back in early 2012 before diving into The Hard Way series and Michael Hartl's book)
These concepts/tools are important to learn eventually, but are not the core of building software. One of the great things about Codecademy is that it abstracts away all of the yak-shaving/ops work so you can dive into what is actually interesting. Obviously this approach can only take you so far, but from my experience[1], I can't think of anything that would motivate a prospective learner less than banging his/her head against the command line, googling cryptic error stack traces, for X hours just trying to get a dev environment setup, just to (finally) write your first line of code.
[1] Quick background: I'm a full time developer, completely self-taught (did the HTML/CSS, and basic JS track on Codecademy back in early 2012 before diving into The Hard Way series and Michael Hartl's book)