One of the most quintessential questions asked by new (and experienced) developers is “What language is the best?” or “What is the best language to learn?” To that, I give the quintessential cop-out, “It depends.” It is best to view choosing a language the same way a car mechanic would choose a tool to work on a car. A mechanic would not use a sledgehammer to change a car’s oil (you may want to consider another mechanic if he or she does). Instead, the mechanic would use a wrench and a filter wrench.
If a developer must process several text files using regular expressions, C would be a poor choice. Instead, Perl would be a better choice because it has language constructs that make it superior to that application. Unfortunately, there are times when there is no choice. For example, when maintaining legacy software, the developer must use the language in which the original developers wrote.
To truly answer the question, programmers need to understand the problem that they want to solve. In many cases, the problem domain will lend itself to needing a specific. If the developer wants to write applications that run on Windows platforms, the choice is C#. If writing for iOS, the developer might consider Objective-C. For data science, it might be Python or R. For analytical programming, F# could be the answer.
For someone who is beginning, a general-purpose language such as Java, C#, and even C++ are good starting points. In recent years, Python is now a good option especially in areas such as data science. These languages have lots of support and finding help is just a Google search away. The important thing is learning the basics of writing code and understanding object-oriented programming. Experience with these languages can transfer to others as many languages use similar syntax. The real learning curve is with the frameworks and libraries.
In short, developers need to know what languages are best for their problem domain. Being fluent in multiple languages will always be necessary. Of course, there will always be exceptions to the rules. With the way technology evolves, new languages will replace today’s languages and the cycle will start over again.