4 ms·
> I would say "it's simply superior in every imaginable metric other than cross-platform implementations of the compiler/VM" but that's just my opinion. Not by
by RivieraKid 10y ago
> I would say "it's simply superior in every imaginable metric other than cross-platform implementations of the compiler/VM" but that's just my opinion.
Not by a big margin. Java 8 has lambda functions, which used to be the most painful aspect of the language for me.
- int_19h 10y agoIt does them. But it repeats the story with generics, where back-compat (in this case, lack of reified generics) requires hacks for acceptable performance. For example, in Java, you have this: http://docs.oracle.com/javase/8/docs/api/?java/util/function/package-summary.html http://docs.oracle.com/javase/8/docs/api/?java/util/function... Note all the permutations. This is necessary, because there's no way to define a generic interface that would have acceptable perf, due to boxing. So you end up defining separate types for things like int->int, int->int->int, long->long etc. And then if you need e.g. bool->int, well, that's just too bad. Whereas in C#, you just have Func<...> and Action<...>, and they work with all permutations of all primitive and user-defined types.
- RivieraKid 10y agoThat doesn't affect me in any way though, from my POV, lambdas work.
- int_19h 10y agoIt will affect you as soon as you start writing methods that accept lambdas as arguments.
- kuschku 10y ago> This is necessary, because there's no way to define a generic interface that would have acceptable perf, due to boxing. Actually, that's going away with Java 9 (or 10). Luckily.
- int_19h 10y agoThis is great to hear, but it also kinda reinforces the point - .NET generics were reified from the get go, back when they were introduced in 2005. Java got generics a few months earlier than .NET, if I remember correctly; but we're still waiting for them to fully catch up. By the time it does, people coming from C# will be asking about things like sequence comprehensions (well, they already do, since those have been around for 8 years) and pattern matching...