Live data from Hacker News

Scala Resurrection

degoes.net

41–47 of 47 posts

Re: Scala Resurrection

#41
post #5

Well, I think Scala is a nice niche language but with a lot of problems. I like it but the tooling sucks and it is slow to compile. Compared to other ecosystems like Java or Kotlin there are still things to be improved if this resurrection is to take place. We'll see.

I worked at a Scala shop briefly back in 2010-2011. Slow compiles and bad tooling did not begin to describe it. I had hoped things would be better now, but I haven't touched it since.

Scala is way different now and tooling is honestly great, unless you compare it with Java tooling (which is best in class).

Compile times got better but are still slower and can be quite annoying. Hope it will be improved further.

Re: Scala Resurrection

#42
post #37

I was a big fan of the Scala language some years ago and really like the improvements made in Scala 3. But I lost my confidence in Scala and the article is more a confirmation of this assessment than something that would give me hope that I would return to this powerful and beautiful language in the future. Let me go through some of the points of this excellent write-up. > However, Java has a very simple type system…

> Even the best Scala IDE (IntelliJ IDEA) is poor and nothing better is to be expected in the next years. This is basically the point where you could cross out Scala from your short list of programming languages!

What do you mean? I use Community version of Idea for Scala3 and syntax highlighting, refactorings, jumping to definitions, javadocs, usage points, sbt integration, and build targets are all working as expected. The only thing that I noticed as issues are module reloads: sometimes a tab has to be re-opened for the inference engine to notice changes, but that's not a deal-breaker when it comes to IDE experience to me. What else do you need from it?

> I'd say that Scala is not a good citizen in the Java world. This is problematic in existing code bases. Kotlin is a much better fit there.

The current version of Kotlin is lagging behind Java 19 features like improved pattern matching. Why would anyone bet on Kotlin if there's a mix of modern Java+Vavr[1] and Scala3 to be had instead?

[1] https://docs.vavr.io/

Re: Scala Resurrection

#43
post #37

I was a big fan of the Scala language some years ago and really like the improvements made in Scala 3. But I lost my confidence in Scala and the article is more a confirmation of this assessment than something that would give me hope that I would return to this powerful and beautiful language in the future. Let me go through some of the points of this excellent write-up. > However, Java has a very simple type system…

> Even the best Scala IDE (IntelliJ IDEA) is poor and nothing better is to be expected in the next years. This is basically the point where you could cross out Scala from your short list of programming languages! What do you mean? I use Community version of Idea for Scala3 and syntax highlighting, refactorings, jumping to definitions, javadocs, usage points, sbt integration, and build targets are all working as expec…

The point to tooling was based on the original authors assessments. My own experiences are a bit dated, but I had problems with valid Scala code that wasn't understood by IntelliJ. The reason was probably that this IDE relies on its own analysis and not on the official compiler and nothing has changed in this regard. But I'm happy to hear that you are satisfied so far.

The problem with Java/Scala interop is that you can hardly use idiomatic Scala code from Java, while this no issue with Kotlin.

You're right about patter matching. It is sad that Kotlin doesn't have more to offer. But Kotlin has some nice things not present in Java like named parameters with default values, (limited) reified generics, proper covariance / contra variance, extension methods, first-class functions and what not.

Re: Scala Resurrection

#44
post #20

I've just recently tried to pick up Scala, by going through the excellent Hands-on Programming with Scala so I can provide a newcomer's perspective. Metals is great if a bit buggy. Being able to just install a VSCode plugin and start hacking is huge. If you want to win new programmer mind share, improving Metals (or some other VSCode language server) is the way. Scalafmt is nice to see coming from Java. The build too…

The difference between monofunctor and bifunctor is definitely clear.

Re: Scala Resurrection

#45
post #20

I've just recently tried to pick up Scala, by going through the excellent Hands-on Programming with Scala so I can provide a newcomer's perspective. Metals is great if a bit buggy. Being able to just install a VSCode plugin and start hacking is huge. If you want to win new programmer mind share, improving Metals (or some other VSCode language server) is the way. Scalafmt is nice to see coming from Java. The build too…

> Why are there two functional programming ecosystems?

Reading the politics in Scala was a guilty pleasure of mine.

I think these two discussions should give a clear enough picture.

https://www.reddit.com/r/scala/comments/9a11p1/newbie_wonder...

https://www.reddit.com/r/scala/comments/qweo20/a_statement_a...

Re: Scala Resurrection

#46
post #4

To be honest, I think he is way-overly critical. It would seem like he thinks there needs to be some sudden changes or something. Scala is great today - there is nothing better (for experienced programmers) in my opinion (at least when it comes to backend development), and it's on a great path and trajectory. Slow progress and change is good. I think he would do well just calming down a little bit. He has some good c…

Would you recommend someone currently using F# to try out Scala?

Scala is also an FP language that places emphasis on types, but it does so in a way very different from F#, which is still based on Hindley–Milner. I think Scala is worth checking out for a different perspective.

Re: Scala Resurrection

#47
post #20

I've just recently tried to pick up Scala, by going through the excellent Hands-on Programming with Scala so I can provide a newcomer's perspective. Metals is great if a bit buggy. Being able to just install a VSCode plugin and start hacking is huge. If you want to win new programmer mind share, improving Metals (or some other VSCode language server) is the way. Scalafmt is nice to see coming from Java. The build too…

> Why are there two functional programming ecosystems? Reading the politics in Scala was a guilty pleasure of mine. I think these two discussions should give a clear enough picture. https://www.reddit.com/r/scala/comments/9a11p1/newbie_wonder... https://www.reddit.com/r/scala/comments/qweo20/a_statement_a...

I'm not sure if I'm enjoying this, but there's certainly a lot of passionate content out there!
Post reply on HN