I have tried all 3 languages over the last 3 years. I settled on Kotlin in the end to port a key product codebase at work too. For such a new language the tooling is incredibly mature, if you use IntelliJ. It took Scala nearly a decade to get the same level of integration. It's turned out be a great choice. Productivity is definitely up since the switch away from Java.
Groovy is nice, but it feels like an evolution of Java rather than something really new.
Scala is full of neat ideas, but it's also overly complex. There's often several ways to achieve the same thing. So no two devs implement something the same way. It seems to attract the sort of developers that reval in complexity purely for complexities sake. Even the compile times are noticeibly longer.
Kotlin has clearly stolen a lot of Scala's best bits. But it's skipped a lot of the complexixty. Plus it's integration with Java is much tighter than Scala. Our app ships over 150 jars with it. The majority are java libs. Using Kotlin instead of Java has never been an issue with any of them.
I would definitely say look at Kotlin for backend work. It's far more than just what people write Android Apps in these days!
"Scala is full of neat ideas, but it's also overly complex.": It makes me both excited and worried.
Hope the language would be refined a bit before I starting to get my feet wet.
haha ha, don't worry, I didn't intend to scare you. Scala is a great language to master but yes you need initial zeal or at least a project. I learned while I had to work on a Scala project and I learned in just less than 4 weeks but yes I haven't mastered it yet.
I agree with you Kotlin has great tooling in terms of IntelliJIDEA and having JetBrains invented Kotlin only helped it on that front while Scala had to go through the hard way.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I have tried all 3 languages over the last 3 years. I settled on Kotlin in the end to port a key product codebase at work too. For such a new language the tooling is incredibly mature, if you use IntelliJ. It took Scala nearly a decade to get the same level of integration. It's turned out be a great choice. Productivity is definitely up since the switch away from Java.
Groovy is nice, but it feels like an evolution of Java rather than something really new.
Scala is full of neat ideas, but it's also overly complex. There's often several ways to achieve the same thing. So no two devs implement something the same way. It seems to attract the sort of developers that reval in complexity purely for complexities sake. Even the compile times are noticeibly longer.
Kotlin has clearly stolen a lot of Scala's best bits. But it's skipped a lot of the complexixty. Plus it's integration with Java is much tighter than Scala. Our app ships over 150 jars with it. The majority are java libs. Using Kotlin instead of Java has never been an issue with any of them.
I would definitely say look at Kotlin for backend work. It's far more than just what people write Android Apps in these days!
"Scala is full of neat ideas, but it's also overly complex.": It makes me both excited and worried.
Hope the language would be refined a bit before I starting to get my feet wet.
I won't say complex but yes, the initial learning curve is a bit high.
OK, Thanks for the warning. Good to be aware. Let me see what I can do.
haha ha, don't worry, I didn't intend to scare you. Scala is a great language to master but yes you need initial zeal or at least a project. I learned while I had to work on a Scala project and I learned in just less than 4 weeks but yes I haven't mastered it yet.
Sure thing. haven't scared. Just good to know ahead, and I HAVE to learn it no matter what anyway. Thanks for kind words!
I agree with you Kotlin has great tooling in terms of IntelliJIDEA and having JetBrains invented Kotlin only helped it on that front while Scala had to go through the hard way.