by Leon Rosenshein

Another 'Just No.'

Every year StackOverflow does a developer survey, and this year was no exception. Some of the questions they ask are about language, framework, library and platform usage. What gets used the most/least and what is liked the most/least. Like all surveys, some things make sense right away, some are of the "I wouldn't have thought that, but it makes sense", and others are of the "Huh???" category. The one in the last category that always makes me go WAT is Rust. Is #19 in the list of most used languages, but #1 in the most loved, and 20% higher than #2. How can so many people love a language they don't use?

But still, that's just data. It's not information, let alone knowledge or wisdom. And some people have tried to turn that data into wisdom, such as this Medium article.

According to that article, we should all be learning and using Julia, since it's the language people are most satisfied with. We don't know what they're doing with it, but they're satisfied, and who doesn't want job satisfaction?

Alternatively, you could pick your language of choice based on popularity and paycheck. You know, what all the cool cats and kittens are using. In that case, C, Java, and Javascript should be your choice. It certainly makes it more likely that you'll be able to use the Clone pattern from yesterday's list, but it doesn't say much about the quality of the result.

Or, put it all together and let the wisdom of the masses guide you. By this analysis the most well rounded choice, in terms of community size, salary, and satisfaction are the big shell languages, Bash, Shell, and Powershell. I can just imagine a self driving vehicle built using Powershell. I can imagine it, but I don't think I want to ride in it.

The right answer to which language to use is, as with most things software, it depends. Here's some wisdom for you. Instead of bringing your favorite language to the problem space, look at the problem space first. See what's being done. See what the pros and cons in the space are. Remember, you're trying to solve a problem in a problem space, not trying to use a language. The language (and it's ecosystem, including community, libraries, and toolset) is just a tool you use to solve the problem. It's not a solution you carry with you and then apply to whatever problem you come across.