Here's an interesting thought I just had. Instead of just thinking of ourselves and what language we'd use, lets think about a team we're trying to build, and then revisit the motivations for choosing a tool or language.<p>1. One really good reason to use something is to pick something because you would learn something from using it. I think this cuts to the title of the original article. Learning has fallen by the wayside with this bubble. People have become preoccupied with making a quick buck.<p>2. What advantages does it provide, and at what cost?<p>With that in mind, lets look at two of the languages mentioned.<p>I'll start with Go. What can we learn from it? Almost nothing. Ditto with D. Both languages were meant to be better systems-level languages than C/C++. But I just fail to see how they are better enough to warrant a shift. Rust seems much more compelling but Rust is still a bit young. Go and D seem to be advocated by fossilized C++ guys who just want to keep on doing things the old way which is averse to (1).<p>Now lets talk about Scala. Most programmers could really learn something from it. A Stanford/CMU grad wouldn't get anything out of it, but they could at least leverage what they learned in their ML/Haskell classes. Scala also has robust access to the JVM libs, so enough said there.