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.
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.
2. What advantages does it provide, and at what cost?
With that in mind, lets look at two of the languages mentioned.
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).
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.
tl;dr Wilfred Hughes identified five reasons why he doesn't use certain technologies. He finds them lacking and resolves to test out some of the tools he's avoided, in the coming year.
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.
2. What advantages does it provide, and at what cost?
With that in mind, lets look at two of the languages mentioned.
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).
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.