3 ms·
all we need is C# 4.0 running on JVM. And instead of no generics, substitute generics implemented as they are on the CLR. Done! no incoherent Scala to learn. I
by MrMan 15y ago
all we need is C# 4.0 running on JVM. And instead of no generics, substitute generics implemented as they are on the CLR.
Done! no incoherent Scala to learn. I have no complaints about C# except that it exists on MS island, instead of running on JVM in the Java ecosystem. As language, I cannot complain about C#. I have found clojure to be very easy to learn and use recently, but I must honestly admit that if it didn't exist I would never have noticed if C# were on the JVM.
- mquander 15y agoI can complain about C#. The type inference is artificially limited which forces you to write types everywhere. There is no way to define an interface on types which are not under your control. Generics are missing a number of features that would be extremely useful, like defining a parameterized type with a constraint on the parameter type's constructor. Metaprogramming is limited to treating lambdas as expression trees and has no syntactic sugar. There is no facility for destructuring function arguments or doing pattern matching. Events and properties are not first-class constructs that can be passed around, which limits composability. Tuples have no syntactic sugar associated with them so they look super ugly. Et cetera, et cetera, et cetera. It severely beats Java, but it falls pretty far short of Clojure, in my opinion.
- MrMan 15y ago"It severely beats Java, but it falls pretty far short of Clojure, in my opinion." agreed!