Dumbing down the Web with frameworks and abstractions
RiderOfGiraffes: Isn't this the same as saying that you shouldn't program in Haskell, Erlang, Lisp or Prolog without also being able to program in assembler?  And isn't that then the same as saying that you should be able to design circuits with NAND gates?  And doesn't it go on to say that you should understand how diffusion processes are used to make integrated circuits?Actually, I'm with you, but the question is: where do you stop, and why?  Personally I've build a CPU from an FPGA, and before that I designed a CPU from NAND gates.  Even so, I wouldn't insist that my applications programmers know how to do that.  C is useful, assembler also, but I wouldn't insist on it, and even those who only know C++ or Python are still productive programmers.