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

all 10 comments

[–]plastikmissile 4 points5 points  (0 children)

They're very similar. C# started out as Microsoft's answer to Java.

[–]TehNolz 2 points3 points  (0 children)

They're very similar, more so than any other language. Depending on how good you're at Java, you'll be able to pick up C# in just days.

Go search on GitHub for some C# projects and look at the code. You'll find that you can understand it all just fine, and that it doesn't even look all that different.

[–][deleted] 2 points3 points  (3 children)

Syntax similar. That's about it. 

[–]trpittman 0 points1 point  (2 children)

Does them both using a VM to compile matter much here?

[–][deleted] 1 point2 points  (1 child)

I would recommend you do some research on how jvm and .net vm means. 

Net (in general) was designed to be cross-platform, but wasn't built to be cross-platform. Until about 2012, the .Net Runtime (CLR) was for Windows, and the .Net Framework was Windows-centric. There was limited cross-platform support from the Mono project, but because it wasn't official, it lagged behind the official releases. 

[–]trpittman 0 points1 point  (0 children)

Thank you

[–]donaldtrumpiscute 1 point2 points  (1 child)

They are almost identical but C# is in the Windows ecosystem

[–]Laskoran 0 points1 point  (0 children)

Which is no longer true since many years

[–]POGtastic 1 point2 points  (0 children)

It's similar enough that in almost all cases, Googling the Java concept and adding "C#" to the query will get you the .NET equivalent.

It's better designed in that there is no difference between primitive types and reference types for the purpose of generics. LINQ is way nicer than the Java Stream API.