I'm going to take a contrary viewpoint here, but please don't take offense. I see what you're getting at.<p>What I've learned is that anyone can learn Rails, or Git, or whatever buzzwordy thing is the latest language, tool, or framework. It's easy to learn these things because they are new, hip, and promise productivity increases. I thik it's good to try new things, but things like this aren't that hard to try, if you're really into programming. They have pretty shallow learning curves, and give pretty instant gratification: the double-whammy of what makes a good hacker flavor-of-the-month.<p>Learning these types of things is fun, easy, and good. You never know what the next big thing might be. And, you probably will come across a few gems you keep with you for many years. You also probably pass through a lot of crap.<p>It's much harder to learn things that take time and patience, that don't provide the instant gratification of learning a new framework or whiz bang tool chain.<p>You need to take the long view. Programming languages are a means of expression, they don't make you write better code.<p>What makes you write better code is the hard stuff. The stuff you lose if you don't practice. The stuff nobody has the time to sit down and <i>really learn</i>. Linear algebra, statistics, physics, machine learning, machine vision, game theory, logic, information retrieval, network theory, the list goes on. It's much easier to pick up a "Foobar in Action" book that has no scary math symbols or floating point values that can get you from 0 to "Hello World" in a few hours.<p>But, you will always be just another code monkey that way, following the leaders. I'd rather have totally shitty, ugly code written in BASIC that expressed some novel algorithm that nobody else had than yet another CRUD application written in Clojure in the cloud with jQuery and WebSockets.<p>Put down the Pragmatic Programmers books every once in a while, turn off your computer, and start reading about the basics. Even if you've learned it before, it always helps to go back. You never know when that thing you slept through sophomore year of college will turn out to be the right approach for a problem you're working on.