6 ms·
Scala 3 is not production ready
- 29athrowaway 4y agoKotlin is where it's at.
- ch4s3 4y agoIf you need to be on the JVM, that seems to be the case. I just wish there was something better than gradle for managing dependencies and building apps in kotlin.
- mdaniel 4y agoI don't know if you were being dramatic, but Maven builds kotlin just fine and my experience is that it is a ton more stable over time than "./gradlew ohGawdWhatGradleInternalsAreGoingToDieNow"
- ch4s3 4y agoI can’t say I love maven either. I haven’t really lived in the JVM for a few years but other ecosystems just have way better tools for building and dependency management.
- jpgvm 4y agoI recently did a Kotlin project using Bazel and it wasn't perfect but it was definitely serviceable. One thing was that while iterating on the build was painful compared to Gradle with Kotlin script it did have very nice performance in combination with remote build cache and I imagine the remote build execution feature could be very nice for large JVM projects.
- kaba0 4y agoI don’t get the hate for gradle. Sure, one can make some monstrosities with it, but the common case is pretty much just listing your deps, not different to, say cargo. Yet, when you inevitably have to add something more complex, it will let you do it. Gradle is perhaps one of the most misunderstood technologies, many people believe it is some imperative ant-script, when in fact you have the script write a declarative plan for you, which will be later executed “purely” (much more so than maven for example)
- ch4s3 4y agoIt’s not so much hate, I just don’t think the dependency management story for any of the JVM tools is very good.
- rayxi271828 4y agoWith the faster pace for Java now, I wonder if I'm the only one feeling lesser need / lesser incremental benefit of moving to Kotlin. Yes, some of my fellow engineers like it for the language itself, but I feel these days it's getting harder to argue that "the team using Kotlin is so much more productive than the team using Java". Curious what HN thinks about this.
- ghancock 4y agoI think that’s reasonable if you are on a recent JVM version and expect to upgrade very regularly. Many are in organizations where that’s not the case.
- Taikonerd 4y agoWhat's the story with nullability in Java these days? I used to be a Java dev, and NullPointerExceptions were a thorn in my side. Kotlin has (real, language-level) non-nullable references, which strikes me as a big improvement.
- kaba0 4y agoEven basic intellij suggestions can save you from most instances of NPEs, but you have the option for complete third-party static analysis (with either default to nullable, or default to non-nullable, and then adding @NonNullable or @Nullable annotation, respectively ). These are not standard annotations, but all third party analyzers do in fact understand each other, and they have the stdlib annotated. Oh and debugging story became much better, you get exact property-access instead of only a line number, but that is a JVM-change not java. If you do some long, chained property accesses (which imo are the primary sources of NPEs) I can only recommend mapstruct. You basically declaratively write what has to be mapped to what and it will generate at compile-time the necessary, performant Java code with proper null-handling, even n level deep. So my empirical evidence is that NPEs ”million dollar” fallen victim of inflation :D
- Taikonerd 4y agoThank you -- glad to hear there's been progress!
- threeseed 4y agoKotlin has always been positioned as a better Java. But with Java on a faster release schedule the point of Kotlin gets weaker every day. Scala on the other hand is more and more a true FP language.
- 29athrowaway 4y agoScala is not a true FP language. A true FP language won't let you do imperative stuff.
- nowherebeen 4y agoNo one wants to: a) migrate their production server to a new language for a weak reason b) learn new syntax when the old one works fine I am sure Scala 3 is great but I see no reason to learn it. The constant change with Scala with only slight performance improvement doesn’t make me excited. I would rather spent my time learning Rust.
- g42gregory 4y agoI am curious whethere there is anything wrong with staying with modern Java? I haven't looked at Java ecosystem for a while, just Python and C++ these days, but I remember they were aggressively putting features out that were making Scala less needed. What is the situation right now?
- rayxi271828 4y agoThis is exactly my sentiment as well. I'm still deeply in the Java ecosystem. It was stagnant for a while, especially between Java 5 and 8 (which spanned multiple years). But now that it's modern, and it's moving quickly... I see less and less need to use these "better Java" languages.
- g42gregory 4y agoInteresting. There are tons of great new languages these days, but the sheer mass of existing libraries, documentation, tooling, etc... make it very difficult to break in and gain momentum. I feel that three major languages emerged to dominate (not to be confused with being loved!), at least for now: Python, Java and C/C++/C# block. All for very different use cases. And JavaScript for the browsers, of course.
- Macha 4y agoThe problem with seeking employment in "modern Java" is like doing the same for "modern C++", so many teams with Java 8 (or older)/C++98 codebases that drown out the options to do modern work. Plenty of them might advertiser planned/inprogress updates while hiring but then put roadblocks on the way of ever doing them.
- xwowsersx 4y agoI get being a bit tongue in cheek with a grabby title, but the ending of this post is: > Although some features are still missing, I absolutely love Scala 3 and promote its usage in production That's the precise opposite of the message of the title. That's a bit annoying and makes me feel like I'm being hoodwinked.
- potassium__ 4y agoI haven't seen any junior roles for Scala in the past 6 years. Probably wise to switch to Java or Kotlin where there is growth.
- deleted 4y ago[deleted]
- karmakurtisaani 4y agoNot even tangentially related, but I can't help complaining how I hate the dotless syntax in scala. No, "list map function" is not as readable as "list.map(x => function(x))". Anyway.