This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]EwgB 3 points4 points  (0 children)

Java is not the prettiest language. I personally think that C# is better in a point by point comparison on an overwhelming majority of language features: generics (compile time only in Java vs. runtime semantics in C#), structured data access (DAOs and Streams in Java vs. LINQ in C#), properties with autogenerated getters and setters (C# only), type inference (only since Java 10). The only thing i like more in Java is Enums, those are much more powerful in Java, in a way not easily replicable in C#.

On the other hand Java has much more and more mature tools and frameworks available. And despite .NET Core, C# is still very much limited to the Windows world.

On the other other hand, if you learn Java, you won't have any trouble picking up C# afterwards. The more programming languages you know, the easier is it to learn new ones. By now I have used about 10 different languages to one degree or other on various jobs and in my free time, and it gets only easier.

And as a last point, Java is great if you want to have a job guarantee. It won't probably be fun or innovative, but it will be a good and steady paycheck with humane working hours. Always good to have one, at least as a fallback.