Live data from Hacker News

Scala isn't fun anymore

alexn.org

391–394 of 394 posts

Re: Scala isn't fun anymore

#391

Earlier quoted context omitted.

> why developing and maintaining tooling takes resources. Developing and maintaining anything takes resources, tooling is not special at all. Yet, you still didn't say what exactly does Kotlin do that's so resource-intensive that it's impossible to replicate for Scala for the reason of lack of resources only. Do you know Kotlin's tooling? > Lightbend isn't involved in Scala 3. I don't get what you mean? I mean, so wh…

> All default (ie. used most often in idiomatic code) collections in Kotlin are immutable That's not true. List, for example, is a read-only interface, but given that MutableList is a subtype of List, you have no actual guarantee that some other piece of code isn't modifying a list you think is immutable. I haven't seen this leading to trouble so far because clearly the intent is to treat collections as immutable whe…

I think it's more of me not remembering how it was with Scala - it's been some 5 years since I did any Scala development.

> I think that Kotlin is more pragmatic and Scala is more elegant and idealistic, and both are valid goals.

Yes, I have the same impression.

However, I don't believe this was an initial goal of Scala. I remember reading the Scala book by Odersky in 2005 (or around that time) and my impression was that Scala was meant to be pragmatic as well. The OO+FP mix was innovative at the time (it's not anymore), but neither side was made to be dominant. That changed, with - and I'm guessing again - Haskell expats who abused implicits and the type system almost to the point of breaking to pursue their brand of "generic programming". I don't know what happened exactly and why, but when I learned Scala in 2009 it was because I didn't want to touch Java but I had to work on the JVM with lots of Java libraries. And Scala back then was ok for that purpose, like Kotlin is today. When I revisited it in 2017, it was still kind of ok for that and for me, but the community and ecosystem seemed to have drifted away from the "better Java" use case significantly.

On the other hand, Scala 2 is now anything but elegant. Scala 3 made Scala elegant again. You can see how many changes were needed to recover from more than a decade of giving in to people interested in a particular style of programming by simply skimming the Scala 3 tour.

My background is kind of unusual: most programmers my age have worked with 5-6 languages professionally and a few more as a hobby. I used 9 languages professionally and more than 20 as a hobby. Scala was one of the most interesting languages I learned. It was C++ done right and without the design-by-comitee stigma. It was meant to be expressive at all levels of complexity, from oneliners to massive systems: Scala, a scalable language. My impression is that the initial goal was to use FP idioms to make the language expressive "in the small", and OOP to make it expressive "in the large". Then some part of the community started wielding FP hammer and striking every problem with it, without even trying to use the other part of the toolbox.

I might be wrong in all of the above, I'm just guessing based on hazy memories of long ago. Still, that's my impression as someone who is interested in programming langauges in general and who was around since the beginning, although only reading up with Scala development occasionally.

Another language that suffers similar fate is OCaml. Actually, object oriented part of OCaml is a beautiful and elegant, prototype-based and (statically) structurally-typed object system. Yet no one seems to be using it. However, OCaml is better at FP than Scala. The H-M type system and inference along with polymorphic variants cover a lot more than Scala's FP can (without abusing the language features; and also of course H-M comes with downside, ie. + and +. thing). OCaml also provides real modules and higher-order modules (dubbed functors) which Scala doesn't have, and which also improve FP style to cover more of the programming "in the large" more easily.

Again, I might be totally wrong, but I think Scala was never meant to be "Haskell on the JVM". Scala 3 highlight the pragmatic, elegant side of Scala, which I think makes my assumption plausible. (I also like Haskell, Lisps, Erlang, Prolog, and another 20 languages, so I personally could live with that direction of Scala's development. Other than the compile times. But there's no way to argue that it resulted in higher adoption rate, larger community, more packages in the ecosystem, and so on. So while I'm personally still ok with Scala, my employer is not. And comments like that of your sibling poster don't help, to put it mildly - it's Smug Lisp Weenies again, just with ( replaced with { ...)

(BTW, if I'm wrong, please tell me. I'm capable of changing my mind, really.)

Re: Scala isn't fun anymore

#392
post #375

Earlier quoted context omitted.

Sure, Java is going to take off and rule the world ....

Not sure if this is the joke, but it pretty much already does.

It was meant to be sarcastic, but I can see how you might think that it could be. I’ve never written a line of Java in my career but it’s probably more widespread in other parts of the industry.

I haven’t heard a developer being excited about writing Java in a long time.

Re: Scala isn't fun anymore

#393
I started looking seriously into Scala 3 without any Scala 2 exposure 6 months ago. I do not need it for any project but I wanted to see what is there. I love it.

Also, he does not mention Chisel.

Re: Scala isn't fun anymore

#394
post #370

> Maybe this is just me getting older (going to turn 40 soon). Maybe all programming is terrible. I’ve actually started to read Java newsletters, maybe Spring isn’t that bad, I’m also having affectionate memories of JavaScript and Python, and thinking about having a plan B in case this programming thing doesn’t work out The older I get the more this rings true. I've had several false starts with fancy new languages a…

Core Java was never that bad .... It was J2EE and the everything including the kitchensink frameworks that were a blight on the java world.

I definitely agree.
Post reply on HN