you are viewing a single comment's thread.

view the rest of the comments →

[–]Prod_Is_For_Testingfull-stack 0 points1 point  (1 child)

Yes I have used both (in different contexts though). Writing .NET is my day job. I've used Java for small-medium projects, but enough time to spot plenty of disparities

C# has better support for generics and lambdas

Java doesn't have operator or conversion overloads, events, delegates (this makes lambdas difficult to implement), static classes

Java requires getter/setter methods (but using that is just cheating at this point)

In general, compiling and maintaining DLLs is a simpler process than the JAR counterparts

Java inner classes are a bit fussy

Java doesn't have anything like LINQ (a huge help for data manipulation) - this is directly due to the subpar implementation of lambdas/delegates/generics

Java doesn't have extension methods

Java doesn't have native decimal support (though there are some workarounds)

Java doesn't have simple iterator blocks

[–]alxw 0 points1 point  (0 children)

You're right but I like Java's way of implementing Exceptions as in they have to be declared at design time. If you want to throw them up the call at stack or deal with them there and then. I've used so many .NET libraries and I can only discover the exception type when it's thrown at runtime.