I've been doing most of my work in Java, but my university is really pushing for C# and anything Microsoft. I've always loved the fact that Java runs on any potato with the JVM installed, but this might be a good time to learn something new.
What would you recommend? I don't have any big app ideas yet; I primarily want to learn and hopefully build something other players can use in the end. Stick to Java, for for C# or something entirely different (Python or C++ for instance)?
If you're picking a new language just for the sake of learning, why not something really different?
Elixir, Haskell, Clojure, Rust and Pony come to mind. These are very elegant languages that are certain to expose you to new paradigms and broaden your horizon.
That's a pretty good idea actually :) Cheers!
Java & C# are pretty much the same so if you know Java then you can pick C# easily, vice versa. You could learn about other paradigms such as functional, imperative, etc.. If you already know about Object-Oriented programming. Me, personally, I don't like anything .NET or Windows related, I stick only to BSD & Linux so I'm a C/C++ kinda guy.
Python's really nice and handy to have because of how ubiquitous it is. Rust is worth looking at, as is Go.