I program mainly in C++ but recently took up Java for its advantages. I heard about the mono project and that C# is now cross platform but that the GUI of C# is not. I like Java but I also like C#, Java has some anoying restrictions sometimes (like no operator overloading and it's templates is just weird), though it is corss platform like almoust no other language I know. I maily develop for windows systems but I do from time to time work with Linux, Unix and Apple.
Java runs on all these systems without rewrite or recompile. But now with C# (that is a much more modern language and has a lot more fetures) also runs on these systems.
So is it worth it to learn C# and leave Java? or should I continue with Java?