3 ms·
Java 8 has the potential to kill languages that were designed with the purpose of being a "better Java". Scala ain't one of them. Clojure ain't one of them eith
by bad_user 13y ago
Java 8 has the potential to kill languages that were designed with the purpose of being a "better Java". Scala ain't one of them. Clojure ain't one of them either.
Surely some people that just want Java with closures will not move to Scala anymore. Some people that moved because they wanted a better Java, may move back to Java, because Scala is actually painful when used as a better Java. But Scala will thrive, as it's a very well designed language that achieves the best combination between OOP and FP available.
In fact Java 8 is good news for Scala, because of the JVM improvements and because Java developers will be more comfortable in consuming libraries built with Scala, like Play and Akka. This is extremely good news, because with the Java ecosystem being so massive, Scala will gain more users than it will lose once people start seeing the possibilities.
- pjmlp 13y agoActually I think Java 8 will scare a lot of average skill cog developers still stuck on Java 1.4 - 6 world. I just wonder to which language such soulless corporations with move to. Edit: Why the downvotes?! I do like Java 8. Just thinking out loud about those soulless corporations I happen to visit from time to time in consulting gigs.
- deleted 13y ago[deleted]
- larsmak 13y agoOne great thing about these new language features is that you don't have to use them. You can run on jdk8 and program as if it was your grandmas vm. This was true for generics and will be true for lambdas etc. As programmers become more advanced they understand the need for the more advanced features and start to adopt them - but they are not strictly required from the start.
- bad_user 13y agoTo be fair, Java's generics are so awfully implemented that I stay away from them as much as I can - i.e. invariant, with use-site variance notations by means of existential types and freaking wildcards (instead of declaration-site like how Scala does it, which is much saner). I mean, take a look at this presentation: http://parleys.com/play/514892250364bc17fc56bb15/chapter0/about http://parleys.com/play/514892250364bc17fc56bb15/chapter0/ab... And I'm not even ranting about the generics being based on type-erasure, like so many other people are doing. Type-erasure is actually one of the best features of Java, since reification implies doing damage in the runtime which would have impacted other languages and with a good type system, you wouldn't need reification anyway.
- pjmlp 13y agoMy two major complaints with generics in Java is lack of type aliases and the whole issue with primitive types support.
- bad_user 13y agoIn Scala you can specialize for primitives btw. It has some gotchas, but if you know what you're doing, it works OK.
- pjmlp 13y agoThanks for the hint. Actually, in terms of alternative FP JVM languages, I am more into Clojure than Scala, even though I am a big ML fan. So I my Scala knowledge is currently at Scala 2.8 level and I wasn't aware of it.