You should go for a well-managed language with lots of well-established libraries for accomplishing the most common tasks. You want a language you can edit in one of JetBrains' IDEs (like IDEA, PyCharm, RubyMine, etc). Don't go for anything too esoteric. Be pragmatic. Don't use flimsy shiny-toy tools like NodeJS and MongoDB. Your programming language is a tool for getting shit done, unless you live in Academic La-La Land where you don't have to worry about producing anything of value because your salary is forcefully extracted from other people. Avoid the Microsoft stack. They just want to hook you into their ecosystem so that you'll contribute to their revenues. Of course, every language comes with its own set of trade-offs. A couple of years back, I would have recommended Python. Now I'm not so sure, because they're still having trouble with the v2 --> v3 transition, and they still don't have "actual concurrency". It's a very well-managed ecosystem with lots of good libraries though, steered by sensible people. With version 8, even clunky old Java has turned into a pretty good language. It's got the best VM out there, any library you could ever need, and it's well-managed too. It comes with quite a lot of historical baggage though. Clunky old, overly complex frameworks that still depend on pointless ancient turd-nuggets like commons-<whatever>.jar even in 2015. The mind boggles. Someone else recommended Clojure. The man has good taste. Use Facebook's React. It's the correct way to do Web UIs.