Both dynamic languages (Python/Ruby) and static languages (Java/C) have problem spaces they excel in and I highly recommend pickup one of both.
Java and Python would be my choices based on the number of career opportunities and libraries available.
Longer story:
I would highly recommend Java as a starting point. Knowing it really well means you can transition to other JVM based languages and every large software company has Java code running somewhere if not for the majority of their software (aka, Google, Amazon, etc. Facebook being a notable exception)
C# is popular also but mostly for smaller industries where paying for Microsoft licenses and a closed ecosystem is seen as an advantage. Meaning you don't need to make any choices because the choices have been pre-selected for you. But there is no doubt that most large companies steer well clear of C# simply because they prefer the flexibility that Java and similar provides (for example Google released their own version of Java, so did Amazon, etc. I can talk on this for a long while)
C is needlessly complicated and C++ even more so. In fact as someone with a LOT of software engineering experience, I actually prefer C over C++ for projects simply because of the quality of code people produce using C++ (For example Arduino

). And yes I write a lot of C and C++ code, so this isn't just because I'm a delicate developer that isn't hardcore (lots of contributions to Github for things I like, ie. 3d printers, etc.)
JVM/.NET/C/C++ all share very similar dialects so once you know one of them well, you can transfer incredible easily.
I would also highly recommend picking up a scripting language, ie. Ruby/Python.
Personally (and a lot of my co-workers feel the same) I think Python/Ruby/etc., just like any dynamic language becomes a mess very quickly for any kind of serious application. You need practically 100% test coverage or you can't really run it in production with confidence. Static checking goes a long way which you obviously can't get in dynamic languages nescessitating basically 100% test coverage. (The number of times we've had bugs like syntax errors in exception handling code, etc. that you only discover when it is needed)
That said, those languages are PERFECT for solving dev-ops or background worker type tasks that you usually do with scripts. For example we have services running Python/Ruby to emit metrics from databases, clean up database tables, etc. They start with cron jobs and they are super simple, one or two files. That is the perfect problem to solve using a dynamic language (IMO).
Of course there are companies building entire stacks on Python (ouch) and a lot of non-tech industries rely on it because of the simplicity of a dynamic language. But in most serious software situations it poses a lot of risk for the long term health of your service (and possible a huge technical debt with a future financial cost to migrate to a static solution; here is looking at twitter and facebook)