Live data from Hacker News

Scala Resurrection

degoes.net

11–20 of 47 posts

Re: Scala Resurrection

#11
post #9

Earlier quoted context omitted.

Scala is both more functional than F# (type system has more features) and less functional (more emphasis on OOP). I don’t think it’s a net improvement tbh. Better JVM access is nice though.

Why would OOP and functional programming be at opposite ends of a spectrum?

Minimising state vs hiding state behind interfaces / methods

The two can coexist in one code base but they are fundamentally opposed.

Re: Scala Resurrection

#12
post #6

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…

He’s actually arguing against sudden changes. From the article: > The looming threat of a future radically different Scala 4 is the single greatest existential threat to Scala. I think what prompted John to write this article is that there’s a huge commercial penalty in releasing a new major version of the language, and we should be focussing on making the existing language version(s) more commercially viable before…

Good point, but he also seems to be arguing that the language has significant problems and needs fundamental change, which I don't agree with. For example, he says:

> I believe that the time for action has come > In the ashes of Scala 2 and the Lightbend OSS ecosystem, we need a rebirth for Scala.

Then he gives all sorts of horrible grades that in my opinion aren't justified when compared to any other language. Make small things seem huge.

Re: Scala Resurrection

#13
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?

I don't have any experience with F#, so it's hard for me to say, but I love Scala. I think JVM is the best probably and could be worth your effort hard to say

Re: Scala Resurrection

#14
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.

Re: Scala Resurrection

#15

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…

Over 9 years of Scala here. Scala definitely has quite a few warts.

Re: Scala Resurrection

#16
post #9

Earlier quoted context omitted.

Scala is both more functional than F# (type system has more features) and less functional (more emphasis on OOP). I don’t think it’s a net improvement tbh. Better JVM access is nice though.

Why would OOP and functional programming be at opposite ends of a spectrum?

They aren't diametrically opposed, though OO methods obscure function composition (point-free style).

Re: Scala Resurrection

#17
post #7
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’ve worked in mainstream companies e.g. Morgan Stanley who have made massive investments in Scala. The company I work at now ($5bn valuation) is 100% Scala. It’s not a common language like Java, but I don’t mind that. It attracts smart developers who value the benefits of Scala over Java. The Scala ecosystem has great libraries and platforms. It also gets the benefit of the entire Java ecosystem and the battle-harde…

The Java ecosystem is hardly a benefit

Re: Scala Resurrection

#19
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.

Things are 100% better. It compiles in speeds comparable to my golang shop now.

Re: Scala Resurrection

#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 tooling situation is awkward. Mill looks much more modern than sbt but clearly isn't the de facto choice. The general community displease about sbt further adds to the unease. The main take away here should be the onboarding experience to the build ecosystem does not instill confidence.

The difference between ZIO/Typelevel stuff is not immediately clear. Why are there two functional programming ecosystems? I guess it's a convention vs configuration debate? It seems like the two ecosystems should overlap then, but fair enough.

A single language level package repo would be cool for discoverability purposes, but I'm also used to the multi-repository thing. A directory or something to make packages more discoverable might be a good half-step.

Ammonite is fantastic, but along with Metals and all the other tooling I've used, it works better under Scala 2. Scala 3 is still kind of weird.

The biggest things to me would improve Metals, improve onboarding for build system, improve Scala 3 support for tooling all around, improve discoverability of defacto best/most active packages.

Post reply on HN