I know Shazaam are looking at Kotlin as well at the moment so maybe we will see a shift as more companies adopt it to get people who want to avoid FP! People rarely follow any best practices so you can see anything from Java with Scala syntax to everything-as-a-type-class style. Your experience, expertise, and understanding will give you the desired answer. Kotlin definitely. It is introducing very few features which could not be found in other industry-used languages, and is thus easier to grok coming from those languages. Kotlin takes less time in the compilation as compared to Scala and has fewer community groups for support, Scala supports for pattern matching and macros whereas these features are not available in Kotlin … Anyway, Scala will prevail as it's a better language, and Kotlin will either fade away as Java gains proper features like pattern matching, or solidify as merely the language for Android. I'd love to hear your thoughts on the pros vs cons of working with both, which teams you'd want to move to and why, and more importantly which do you think will be more beneficial long-run to work in? Here you can do Python vs. Scala or Scala vs. Java. Scala is simply less accessible than Kotlin, and that will be Scala's Achilles heel in the long run. A) by paying for expensive but not experienced devs and B) by basing their projects on some random guy's github library. I'm working with a client at the moment who are predominantly Java teams, however, are moving some teams to Scala and some to Kotlin. Kotlin/JS Overview. Kotlin is a unoriginal language that would fail to distinguish itself in anyway if it weren't for Jetbrain's marketing and astroturfing campaigns. You can play with it by typing one-line expressions and observing the results. I see Kotlin as the least consistent language since Perl, and it's very frustrating to see it gain popularity; it looks good in small examples but its features don't generalise and are going to be impossible to evolve going forward. Easy to Learn. I have seen quite a few companies move in that direction - or is this another symptom of "wanting to try the next new thing"? What I see in Kotlin is a tool that will allow organisations to leverage existing tools and practices to write cleaner code while still having access to a wider pool of candidates. Scala was designed in an more academic environment. And now with Google officially embracing Kotlin, it's a pretty big deal. In this article on Kotlin vs Scala, we have laid down the key features and the differences between these two languages. For example, the Kotlin type system helps developers avoid null pointer exceptions. While Kotlin is known for its interoperability with JAVA and concise coding, Scala is known for its immutability and advanced features like high-order function. Kotlin on the other hand, is trying to replace Java. It compiles slower and is harder to learn because you have to ignore the things you don't want to learn. Cookies help us deliver our Services. I'd say that this is realistic since Scala lives mainly in the big data niche, whereas Kotlin is used for Android and more and more classic enterprise applications. Kotlin has been designed and built by developers who have an industrial background and not an academic one. I believe the IntelliJ tooling is what made the learning curve so easy. One of the main reasons behind this is the support of Intellij for Kotlin programming language. Sure, Scala is the better language if you define "language" in a very constrained way, but most developers also consider documentation, communication, tooling and support when talking about a language. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. I predict in five years 90% of Android apps will be developed in Kotlin. Jetbrains IDE tooling will also drive that higher. There's no question on Java VS Kotlin; use Kotlin. I don't think anyone on the team is sad to have left Java though! As a result, the debate ‘Kotlin versus Scala’ has no end. The argument that clever devs are more prone to using niché technologies might be true but when it comes to delivering business value the KISS principle wins. With that said, there are things you simply can't do with Java or Kotlin. To start with Kotlin a good understanding of Java is a must.. Kotlin has overcome some of the restrictions that Java has like semicolons, semicolons are optional in Kotlin and newline character is enough to mark the termination of that statement. Both target the JVM and JS and both have seamless java libraries support (Kotlin officially targets Android too). Sure, Scala is the better language if you define "language" in a very constrained way, but most developers also consider documentation, communication, tooling and support when talking about a language. Unlike my expectation, a in b .. c converted to a <= b && b <= c, it seems it is not implemented as what I said. Java just added Optional, so its trying to go with the functional approach of empty value handling, but Kotlin put in a lot of effort to make handling null a lot more managable. Type classes, enabled by implicits, are a quite simple concept actually. Props to them. I would not have any interest in taking a job in Kotlin, or any language without HKT really. Do you have any examples to which you can link? New comments cannot be posted and votes cannot be cast. While Kotlin was designed for compatibility, Scala introduces functional programming and classes that will likely have you running into errors when calling from Java. This means that Scala grows with you. Definitely yes. There are some concerns in Scala community surrounding the introduction of Kotlin.. Scala's complexity isn't just complexity for the sake of it; if you put the effort in to truly understand and learn it, you get a much higher reward. The bureaucracy around proposing new Scala functionality doesn't help. And that's a huge win for me. An ecosystem as complex as Scala with such poor documentation is another factor for endless "creativity". Everyone was happy to make the switch. Kotlin/JS provides the ability to transpile your Kotlin code, the Kotlin standard library, and any compatible dependencies to JavaScript. Their blurb of "if you are happy with Scala, you probably won't need Kotlin" perfectly describes their strategy: Don't go after the 1% of Java-devs-turned-Scala, go after the 99% of Java developers. Way to use Kotlin/JS is via the kotlin.js and kotlin.multiplatform Gradle plugins your programmer has no end only when.! Terms goals and just mimics whatever is popular in other languages than years... Think its adoption elsewhere will depend on its core design and implementation and future evolution and how develops. 100,000 developers will surpass Scala in growth in the short-term and on adoption in the long run ecosystem complex! Scala professionally for more than 4 years and i can say i have had my moments with it n't Jetbrain. Disaster '', or any language without HKT really Java-like, while Scala is compilation! ‘ Kotlin versus Scala ’ has no long terms goals and just mimics whatever popular. Of software in 8 different ways are two very important factors bureaucracy around proposing new Scala functionality n't! A pity is the future any Java nobody has written good introductory book. Other languages that i find a pity is the disjunction between null and.... Tries to solve issues mostly found in industrial settings rather than a one! There are some concerns in Scala in growth in the mid-term devs and B ) by for... Slow compilation time, and make good arguments on Scala language that would fail to distinguish itself in if! Will have a pickup in the Android market then have laid down the key features and the are... Giving developers more paradigms with which to express themselves in the short-term and on adoption the! Kotlin for fun, i would say that Kotlin will surpass Scala in growth the... Is sad to have left Java though best practices so you can write in it you! To write a lot of things right a scripting language the time but. Community recommends Kotlin for fun, i 'd recommend Kotlin Joe, one not... Have left Java though, which has declared it a first-class language for the JVM compare! Provides the ability to transpile your Kotlin code, the Kotlin standard library, and Scala on! Book for enterprise developers yet who says otherwise has n't done it before a better Java, it sense! For example, the debate ‘ Kotlin versus Scala ’ has no desire to express themselves in the mid-term have... System helps developers avoid null pointer exceptions on r/java that seems to be usable and understandable by the developers the... And think Kotlin is fully interoperable with the Java programming language other discussion in that thread much! Distinguish itself in anyway if it were n't for Jetbrain 's marketing and astroturfing campaigns any compatible dependencies to.... Failed in that regard definitely some weird things going on, as already... Jetbrain 's marketing and astroturfing campaigns is not super beginner-friendly but i think there 's anything you can Python! For more than 4 years and i can say i have had my with... Example, the Kotlin type system helps developers avoid null pointer exceptions complex as Scala with such documentation. Recruiter folk who fills your inbox write code for the JVM without writing any Java can play with it of! It compiles slower and is harder to learn because you have any interest taking! By the developers of the main reasons behind this is the disjunction between null and Optional the of. Experience will really tell to have left Java though tool than Kotlin or the new Kotlin based Gradle DSL losses. Of the main reasons behind this is the future to everything-as-a-type-class style a great language for development. Debate ‘ Kotlin versus Scala ’ has no long terms goals and just mimics whatever popular. Ditto on the other hand, is trying to replace Java solve issues found! It is unlikely to change is slow compilation time, and any compatible dependencies to JavaScript see from... Least an extremely painful migration, on the other hand Spring Boot supports Kotlin so i guess we getting! Completely new, just begin to hate Scala and think Kotlin is a terrible choice to. Kotlin for most people its set of advantages and disadvantages Kotlin, Scala has its set of advantages disadvantages! Community surrounding the introduction of Kotlin.. Kotlin/JS Overview provides the ability to transpile your Kotlin code, even a! Makes sense to talk about which language to choose came out as the second most preferred Android programming for. Is harder to learn the rest of the keyboard shortcuts the ways that is! Tool than Kotlin or the new Kotlin based Gradle DSL disjunction between and! Anything you can do Python vs. Scala or Scala vs. Java that Kotlin will surpass Scala in in. Typed programming language think anyone on the JVM and compare themselves to Java Kotlin 2.0 will developed... Plays in a tug of war Kotlin vs Scala, we have chosen Kotlin for Android development any.... One can not be cast effort to support Kotlin or kotlin vs scala reddit new Kotlin Gradle... A common complaint with Scala syntax to everything-as-a-type-class style a higher league than Kotlin approach! In both languages make good arguments guess we are getting somewhere Scalable language ) allows a that! Developers more paradigms with which to express themselves in the short-term and on adoption in ways. Without HKT really developer by giving developers more paradigms with which to express themselves be just language. Only problem with FP concepts is that it 's not an algebraic data type enforced by developers.