The interesting thing at least for me is that I find myself going full circle. Started coding on the c64 and Amiga then moved up the level of abstraction to java, ruby, javascript and now moving down to harder problems in javascript, c, c++. I figure since Moore's law is pretty close to dead, the cost payed for abstractions will start making older closer to the metal languages come back in fashion increasing the need for more "hard" knowledge in the next decade or so.