Live data from Hacker News

What's Next for Scala

lihaoyi.com

161–170 of 203 posts

Re: What's Next for Scala

#161

I very recently (about a year ago) joined a shop that is primarily into functional programming (FP) and I got my first exposure to Scala as well as F# through work projects. As a long time user of Java/OOP here are my thoughts on Scala and why it has so many things things going against it. Consider the following: 1) First, Scala is designed and developed by "ivory" tower academics primarily for research/PhD thesis pu…

I work at a Java shop, we do ‘modern’ Java (11 or 14, some legacy 8), but I do a lot fp-style Scala dev at home. Calling Scala an ivory tower with no interest in ‘practical’ programming is ridiculous. Scala and Java are remarkably similar in this respect (note Odersky was heavily involved with Java before Scala), albeit one is sponsored by a uni and the other a corporation. JEPs are just as likely to have actual PhD…

Kotlin hit jackpot with Android, but given Google's reluctance to move Android Java beyond its Java 8 subset, JetBrains will eventually need to consider having two Java targets as part of their multiplatform Kotlin, or just focus being an Android language.

Re: What's Next for Scala

#162

> It's not Clojure-dead It never ceases to amaze me. Almost every single time, whenever there's a post or a comment on HN that mentions Clojure or Clojurescript, there's always someone from outside of the Clojure community attacking the language, saying things that are simply untrue. Like people are afraid of it becoming too successful. It's not some zero-sum game - the success of one language ecosystem doesn't mean…

Hmm, I don't like the concept of talking about a programming community as e.g. "python people" in combination with stating something on their behalf.

You are absolutely right to correct me, I re-read my comment, and it does look hypocritical, which wasn't my intent. Paradoxically, in the spotlight of what you've said, it looks a bit like "bees against the honey" movement. After all, I myself one of those "Python people." My lame excuse is that English is not my first, second, or even third language. Choosing proper words and nicely phrasing things in it ain't my forte, but I'm trying my best.

Re: What's Next for Scala

#163

Scala is a beautiful and elegant language. I really thought that it would be one of my favourite languages when I first started working with it. However, after some time I got disenchanted. First, Scala is hard. Projects written by one person quickly become a deep functional labyrinth and custom architectural patterns because Scala is so expressive and you can do all kind of twists. Second, the entrance level remains…

I was asked to join a team of scala developers. Most except one had started learning about 6 months earlier. I was asked to learn it while making small contributions to the project. I quickly found out that there were statements that could be interpreted in multiple ways, can't remember now what it was. Then I got stuck on something and even our seasoned very enthusiastic Scala developer could not solve it. I then an…

And that's the whole problem with Scala. When you work with it, you are having a battle with types and compiler more often than you should. Funny but it is not the first typed language I had to write code in. Never did I have to do so much unnecessary dancing around and asking senior colleagues for help. I guess not all of us are capable of grasping such expressiveness at the cost of such complexity. The majority just need simpler tools to be productive.

Re: What's Next for Scala

#164

Scala has the reputation of being fun to create stuff with, but horrendous when understanding other people’s creations. Is this still true?

You can't even imagine how. Reading a code base written by 1 person in the span of 5 years is a quest. Now, imagine the person goes on a vacation.

Re: What's Next for Scala

#165
post #160

Earlier quoted context omitted.

Scala 3 could improve on 2.x struggles with supporting JDK 9 and up: Support features of JDK 11+ https://github.com/scala/scala-dev/issues/139 Support Java Module System https://github.com/scala/scala-dev/issues/529 In comparison language features seem to attract much more attention: Removing existential types https://contributors.scala-lang.org/t/proposal-to-remove-exi... Significant indentation syntax https://githu…

That is a good example why betting on the platform languages is always a long term safer bet than betting the house on guest languages, Eventually they won't keep up with the underlying platform.

It's not like it isn't working. Scala runs fine on JDK13 (probably 14 too, but we currently run one Play project in prod on 13).

Java is a pretty safe bet, as it has an outstanding backward compatibility track record.

Re: What's Next for Scala

#166

Earlier quoted context omitted.

I was asked to join a team of scala developers. Most except one had started learning about 6 months earlier. I was asked to learn it while making small contributions to the project. I quickly found out that there were statements that could be interpreted in multiple ways, can't remember now what it was. Then I got stuck on something and even our seasoned very enthusiastic Scala developer could not solve it. I then an…

And that's the whole problem with Scala. When you work with it, you are having a battle with types and compiler more often than you should. Funny but it is not the first typed language I had to write code in. Never did I have to do so much unnecessary dancing around and asking senior colleagues for help. I guess not all of us are capable of grasping such expressiveness at the cost of such complexity. The majority jus…

That's what led to ZIO.

Going full FP in Scala with Scalaz and "tagless final" (I still have no clear idea what's that) and whatever else that's hip, leads to madness. Sure you can write maximally polymorphic code. Great. But you end up doing the extractions/refactors that the type system and the compiler allows, not those that would help the code the most. Because those are too slow (too much boxing and GC churn), or the compiler has a bug (or the library) so you end up putting a TODO comment in the code with a link to a github issue.

Or it's a feature that's not supported by Scala, so you end up with a FP spaghetti. :(

Re: What's Next for Scala

#167
post #111
post #107

Earlier quoted context omitted.

Good. Here I was thinking Java 17 to be released in 2021 will be competitor to Go 1.0 when it finally have value types.

Yeah, meanwhile Gonuts will still be discussing what is the best way to add generics, while it's users on Hacker News keep telling us that it isn't political and there is a working prototype at Google. So where is the EA for generics like the value types EA I can download today from OpenJDK repository?

To be fair, apparently this appears to be the current internal prototype, https://go-review.googlesource.com/c/go/+/187317

It still appears quite far from being done in 2021, though.

Re: What's Next for Scala

#168
post #136

One of the most off-putting experiences when starting with Scala is the lack of a dedicated Scala repository such as Clojars for Clojure. Floundering around in Maven Central trying to get an idea of what's available for Scala is an exercise in futility and enough to make you want to give-up before you've even started.

[deleted]

Re: What's Next for Scala

#170
post #126
post #36

Earlier quoted context omitted.

Indeed and probably there is no perfect measure for this. One way to look at it is Maven download data ( https://i.imgur.com/66yEO9C.png ) where it continues to increase. Another is to look at Google Trends data ( https://trends.google.com/trends/explore?date=all&q=%2Fm%2F0... ) where it seems like it's decreasing in searches.

It's currently used by 2.9% of devs, vs. 2.5% for scala. (Search for JVM language report)

Yet another way of measuring (also without providing any type of source, searching "JVM Language Report" brings up a dozen of different results, whereas the first one lists Clojure as being 3% and Scala as 2.36%, can you just link the source instead of asking people to do your sourcing for you?) that is also not perfect.

In the end, we will never know the "real" numbers, and developers like me who use Clojure and find themselves most productive in it, could not care less either.

Post reply on HN