4 ms·
There are few differences between Java and C#. I'd say that was true in the .NET 1.1 days, but really doesn't apply anymore nowadays. The C# language's feature
by pmjordan 16y ago
There are few differences between Java and C#.
I'd say that was true in the .NET 1.1 days, but really doesn't apply anymore nowadays. The C# language's feature set has expanded much faster than Java's, which alone drives up the number of differences. There is a kind of "why would you want this" undertone to your comment - to address that: I feel there are fewer mistakes in C#'s design (generics...) than in Java's. I'd als say C# is significantly more expressive than Java at this stage. (of course, there are other languages for both runtimes)
- MatthewPhillips 16y agoJava has generics too. But I agree that C# has expanded faster (though expansion isn't necessarily good). I'm not sure that you get any of that by using this framework though. It seems to be near one-to-one translation of the java classes and methods. Sure you can do lambas, but can you use Parallel? I doubt it. LINQ to Sql? Doesn't look like it, the docs use Cursors, like in the Java Android. It's $400 to have your braces line up.
- pmjordan 16y agoJava has generics too. Yeah, unfortunately they're implemented via type erasure, unlike in C#, where they're actually part of the type system (for example, since C# 4.0 generics can be covariant and/or contravariant on the type parameters).
- InclinedPlane 16y agoYeah, Java doesn't really have generics. Java has syntactic sugar which provides a good portion of the benefit of generics. But type erasure is not the same thing as generics.
- pmjordan 16y agoIndeed. Unfortunately, that didn't stop them from calling them generics. This choice also pretty much blew the chance of properly integrating true generics into the type system later for backwards compatibility reasons. Well, there's always Scala I suppose.
- viraptor 16y agoThey're just reusing existing API, which seems like an obvious step for a start. The features are there, so if you actually want to write your LINQ layer on top of whatever storage is available, you should be able to do so.