3 ms·
Scala is a great language, I think it's far ahead of the curve compared to anything else out there (swift, rust, Java 8, Kotlin, Ceylon) in terms of being a use
by eranation 12y ago
Scala is a great language, I think it's far ahead of the curve compared to anything else out there (swift, rust, Java 8, Kotlin, Ceylon) in terms of being a useful functional / OO language with static typing.
One issue I have with it. I don't think it's complex, but I think people are not spending the right time learning it. People learn the subset of features they like and stay with it, and because there are so many ways to skin a cat with it, everyone have their own style. It could have benefit from the concept that other languages have of "there is always one best way to do things". I mean, on one hand I can write 20 lines of Java in 10 lines of Scala or less (and enjoy it 100X more) but I can do it in 1000X different ways.
We use scala on a company wide basis and even though everyone is very expressive, well, everyone is VERY expressive.
I think that if a company enforces strict scala style rules, best practices and sticks to it (using automatic style / structure rules that throw compile errors / warnings and need special care to turn off) than Scala can be a big asset to a company.
I'm sure there could have been a better solution to someone who needs a statically typed, OO/FP hybrid language that runs on the JVM. But currently Kotlin / Ceylon are not there for my taste. And the others, are either not JVM languages or not OO, or not statically typed.
There is a group of very passionate people in EPFL and TypeSafe and the scala community that don't follow Martin like a heard. there are at least 2 well known forks of Scala compiler, one large fork of scala collections (by one of Scala's greatest committers and also later greatest critique). Criticism is accepted and no one follows blindly around the founder's opinions (although I think he is doing a good job so far navigating it)
I mean, Scala is perhaps over-featured, perhaps can be a little complex if you use it to write libraries (until you spend some time actually learning it), perhaps it gives you too much strength, but even if it's experimental, academic, theoretical, then it's an experimental / academic / theoretical super fun language that I can actually use at work! how crazy is that? I think Scala is beautiful, a pure joy to use, and I'm so lucky I can use it instead of Java 8 or any other language in the world.
Until Kotlin / Ceylon is mature enough, Scala is the answer to anyone targeting the JVM and want a modern language. Clojure is cool and hip, but I find it much less productive personally, and much more complex, sorry, maybe I'm not smart enough (and, as I said, I prefer static typing)
If you are a Java developer and never tried it, don't believe the lies, Scala will grow on you. and unless you are a constant naysayer / devil's advocate, you'll never go back.
- frowaway001 12y ago> One issue I have with it. I don't think it's complex, but I think people are not spending the right time learning it. People learn the subset of features they like and stay with it, and because there are so many ways to skin a cat with it, everyone have their own style. It could have benefit from the concept that other languages have of "there is always one best way to do things". I think that's the dark side of having both the OO side and the FP side working well. I'm not sure if I want something like OCaml, where everyone tells you to just ignore the OO part of the language. --- I think the talk mentioned all the right things, and shows that the people in charge listen and address issues raised by the community. Also, just look at the productivity. Which other language can claim that people work on a redesigned compiler, a new IR, a shared bytecode backend, and a rewritten macro engine at the same time, in addition to developing and evolving the current language, compiler and library?