Live data from Hacker News

Scala Resurrection

degoes.net

21–30 of 47 posts

Re: Scala Resurrection

#21
Scala is a great language. Any time I'm programming in other statically typed languages it's like programming but with my hands tied backward: bumping into things and realizing there's no HKT, Type Class, GADT etc.

However, it's sad to see it's growth is likely to be capped - because JVM languages is not that fashionable like 2003 or 2007. What's in nowadays is Go and Rust: bear metal, small binary, fast startup speed, solid module packaging system (without all historical stuff or touching Maven), etc.

Even though Scala Native is there, the language was tailored for JVM and it will never get rid of that.

Maybe a ground-up Scala-like language like Go or Rust could fill in the market and gain popularity? A language with GC/runtime like Go but not as awkward on abstrations. But it's unlikely to happen - the compiler would be much harder and complex to implement compared to Go.

Re: Scala Resurrection

#22

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…

I also agree that the author is overly critical. He also misses a couple of points.

He talks about SBT, but never mentions Gradle which is a massive and powerful tool that handles Scala just fine. When I worked at BigCorp that made heavy use of Scala no one used SBT. Everyone used Gradle.

A lot of the IDE based complaints the author has would be eliminated if they used Gradle. Now I know Gradle has its own issues, but saying IDE support is missing entirely just because it’s not available with your tool of choice seems incorrect to me. In fact it seems crazy to me that the author has the concepts “build tool” and “JVM” together in an article and proceeds to go about writing hundreds of words without even mentioning Gradle.

He also doesn’t discuss the current issues around Play Framework being essentially abandoned by Lightbend. Play is the most robust and de facto leading framework to build web apps in Scala. There is also akka-http, but it’s nowhere near as mature and has the same issue as Play framework does of being Akka based. I think he does bring up some serious legitimate concerns about the ecosystem now that Lightbend has gated usage of Akka. Akka had a ton of momentum before that.

Re: Scala Resurrection

#23
Yet more context. DeGoes was targeted for "cancellation" by members of certain scala communities. His response has been to, with impressive success, create his own community with its own implementations of common libraries.

It's not hard to imagine that he's signalling here that his community will attempt to implement its own version of some fundamental platform libraries or systems.

Fwiw, I've been a scala dev for years and I think his analysis of what works and what doesn't in the ecosystem is quite accurate.

Re: Scala Resurrection

#24

Earlier quoted context omitted.

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.

Just upgraded to the latest 2.x compiler and it’s definitely leagues slower to compile than javac.

Re: Scala Resurrection

#25

Scala is a great language. Any time I'm programming in other statically typed languages it's like programming but with my hands tied backward: bumping into things and realizing there's no HKT, Type Class, GADT etc. However, it's sad to see it's growth is likely to be capped - because JVM languages is not that fashionable like 2003 or 2007. What's in nowadays is Go and Rust: bear metal, small binary, fast startup spee…

How do you get over the lack of type inference in Scala?

Re: Scala Resurrection

#26

Scala is a great language. Any time I'm programming in other statically typed languages it's like programming but with my hands tied backward: bumping into things and realizing there's no HKT, Type Class, GADT etc. However, it's sad to see it's growth is likely to be capped - because JVM languages is not that fashionable like 2003 or 2007. What's in nowadays is Go and Rust: bear metal, small binary, fast startup spee…

How do you get over the lack of type inference in Scala?

Scala has type inference [1]

[1] https://docs.scala-lang.org/tour/type-inference.html

Re: Scala Resurrection

#27
post #23

Yet more context. DeGoes was targeted for "cancellation" by members of certain scala communities. His response has been to, with impressive success, create his own community with its own implementations of common libraries. It's not hard to imagine that he's signalling here that his community will attempt to implement its own version of some fundamental platform libraries or systems. Fwiw, I've been a scala dev for y…

It was obvious to some of us that De Goes was targeted for political reasons, in a nasty example of cancel culture coordinated by one of John’s OSS competitors within the Scala ecosystem.

Since then the ringleader of this cancel culture has been exposed for what he is - an aggressive and politically motivated stalker who built tools for forensically analyzing people’s social media history and associations, shared lists of targets, lengthy public character assassinations, doxxing etc. As a measure of his extreme views, even paulg was included in his ‘hate speech graph’

Sadly this stalker also managed to coordinate the complete cancellation of at least one other prominent member of the Scala community before the community realized what was going on.

There are extreme personalities in the Scala world. As a language, it attracts mathematical purists with deep specialism. This makes it a magnet for aspies (no offense intended. I am autistic).

Re: Scala Resurrection

#28
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…

Sadly, given the behaviour of Typelevel as an organization (leftwing political activism, targeting rivals with cancellation etc), it seems vital that there’s an alternative.

I invested a lot of effort in implementing systems using Typelevel libraries (which are great, by the way), but I feel increasingly nervous about wedding myself to this side of the ecosystem.

I attended the Functional Scala conference in December (organized by De Goes and friends). It was invigorating and demonstrated that there’s momentum, professionalism and a warm community in the ZIO side of the ecosystem.

Re: Scala Resurrection

#29

For anyone unaware John is an extremely polarizing figure in the Scala community. So much so I'd attribute Scala's negative light partially to him.

That’s a matter of opinion. The attempts to smear John (by association) seemed desperate to me, and now we know where they originated, it’s pretty obvious that this was a vexatious attack on a decent man.

Re: Scala Resurrection

#30

Scala is a great language. Any time I'm programming in other statically typed languages it's like programming but with my hands tied backward: bumping into things and realizing there's no HKT, Type Class, GADT etc. However, it's sad to see it's growth is likely to be capped - because JVM languages is not that fashionable like 2003 or 2007. What's in nowadays is Go and Rust: bear metal, small binary, fast startup spee…

> Any time I'm programming in other statically typed languages it's like programming but with my hands tied backward

I feel the same when I have to code in Scala instead of Haskell, because the former has to be used for third-party JARs from enterprise vendors that pretend that there only are JVM and .NET.

After the newstyle Cabal, Sbt feels like a bunch of dynamic nonsense too, especially if there's classpath-based runtime-delayed dependency resolution.

I also find that documentation feels more lacking, simply because I cannot easily find third-party libraries and standard definitions by their signatures in my browser address bar, like I can in Haskell with Hoogle: "!h f a -> f b".

Post reply on HN