4 ms·
I did Scala first, then recently took over a codebase with both. I think the people who did Scala were not good and they made a total mess, however, their Kotli
by tlarkworthy 7y ago
I did Scala first, then recently took over a codebase with both. I think the people who did Scala were not good and they made a total mess, however, their Kotlin miscroservice was actually quite nice and was the best code in the project. So I reluctantly have concluded Kotlin is a better level of expressivity. Scala is full of footguns... I love it ... but it's hard to write well.
One example was they were using enumerations and got boxed in. They had to add unit tests to ensure they enumerated all the options. Why does Scala have that feature? It's full of bad features you should avoid.
- manojlds 7y agoI have been using Scala in Production for 5 years - microservices to streaming to batch jobs. I recently started working on Kotlin. Kotlin is the better Java than Scala and is much easier for someone to pick up. And like you mentioned, Scala is very easy to mess up. Scala the good parts is tough to initially identify and work with, and one might as well pick up Kotlin if they are not into functional programming.
- cryptos 7y agoI have the same experience. Once you do more with Scala than "better Java" it is easy to create a mess full of "try to be clever" code you will regret a year later. It is really hard to become a good Scala programmer, but it is not hard to become a good Kotlin programmer. All the little things that make Scala theoretically better are not worth the learning effort. In Kotlin you get 80 % for 20 % of the effort. Scala is separated in subcultures. Some developers use it as "Haskell for the JVM" and other as a "better Java", or something between. That makes hiring and picking up existing projects hard. Tooling is another weakness of Scala. Scala IDE (Eclipse) is more or less dead. IntelliJ with the Scala plug-in is ok, but the Kotlin support is much better.