For those of you who are already immersed in the world of web development - would you recommend learning to write programming code through the traditional routes of buying/borrowing a book and working through exercises, or going through the newer routes of online, interactive learning offered by sites like codeschool, codecademy and Udemy? I hear a lot of people singing the praises of these sites, and I have tried them myself, but I feel as though something is lacking. Because everything is done within a sanitised, safe-mode environment, there is no risk and no way of breaking anything. I feel like you have to break something and then fix that break in order to truly learn something like programming, and that sort of independent learning style is not available on these sites. How did you learn to code? Has anyone successfully used sites like Codecademy to become a professional programmer?