The criticisms I found strongest from the talk: - Tooling needs improvements. He mentioned how the Scala plugin for IntelliJ IDEA will flag working code as incorrect. It will also fail to flag code that won't compile as written. He didn't mention sbt as a pain point, perhaps because it goes without saying. - Scala 3 (Dotty) has the potential to split the community and libraries for years, much like the Python 2/3 tra…
The Last Hope for Scala's Infinity War [video]
31–40 of 76 posts
Re: The Last Hope for Scala's Infinity War [video]
#32Earlier quoted context omitted.
I dunno, I think the DeGoes has a point. Like he says near the end, there's this fiction that an OOP+FP hybrid will be loved by both OOP and FP programmers, when many times it actually means both will dislike it and the language will be mediocre at both goals. My opinion -- and I mostly write Scala in my day job! -- is that Scala is in a truly difficult position. Its OOP (and Java) DNA hurts its FP aspects. If it goe…
> there's this fiction that an OOP+FP hybrid will be loved by both OOP and FP programmers That seems more of a strawman than a fiction: I've never seen anyone, especially in the Scala community, suggest this. I've seen lots of people suggest that OOP+FP fusion is what allows Scala to provide an easy gradual on-ramp to FP for people and projects transitioning from Java, which is Scala’s key value proposition.
I feel like I'm at the tail end of that on-ramp, and while I'm still as a whole really appreciating scala, I'm starting to wonder what the end-game is.
Now that I understand and am comfortable with all the functional stuff, I'm left wondering why I still have the OOP stuff, and why some of the FP stuff isn't more natural. I guess you still need some OOP for java interop, but the pure-scala ecosystem is pretty significant already.
I guess what I'm saying is that the easy transition from Java is only a benefit for bringing people in, not for a language as a mature ecosystem. And I'm thinking maybe I should get into one of the full-FP languages.
In fact, if anything, what's keeping me from making the switch is not any OOP features, but actually just imperative! Especially for performance-sensitive sections, and some rare-but-necessary data structures, it seems you really do want a small amount of mutable state.
Re: The Last Hope for Scala's Infinity War [video]
#33The criticisms I found strongest from the talk: - Tooling needs improvements. He mentioned how the Scala plugin for IntelliJ IDEA will flag working code as incorrect. It will also fail to flag code that won't compile as written. He didn't mention sbt as a pain point, perhaps because it goes without saying. - Scala 3 (Dotty) has the potential to split the community and libraries for years, much like the Python 2/3 tra…
If you think scala editor tooling is bad, check out haskell's. Scala can't lose people comfortable working with nice tools like IDEA to haskell.
Re: The Last Hope for Scala's Infinity War [video]
#34Earlier quoted context omitted.
> there's this fiction that an OOP+FP hybrid will be loved by both OOP and FP programmers That seems more of a strawman than a fiction: I've never seen anyone, especially in the Scala community, suggest this. I've seen lots of people suggest that OOP+FP fusion is what allows Scala to provide an easy gradual on-ramp to FP for people and projects transitioning from Java, which is Scala’s key value proposition.
> I've seen lots of people suggest that OOP+FP fusion is what allows Scala to provide an easy gradual on-ramp to FP for people and projects transitioning from Java, which is Scala’s key value proposition. I feel like I'm at the tail end of that on-ramp, and while I'm still as a whole really appreciating scala, I'm starting to wonder what the end-game is. Now that I understand and am comfortable with all the functiona…
The end game back in the early days of Scala was probably to provide a gradual on-ramp to FP for people and projects transitioning from Java, but it probably changed to a commercial purpose once more people got involved in its development. It's long since become a self-preserving product, and probably even tries to hinder people moving from FP-only Scala on to Haskell and the like.
I only spent a few months on Scala way back so don't know for sure, but I did see Apache Groovy go through a similar business re-purposing. It began as a JVM-based scripting language complementing Java, useful for glue code and testing, but later became a competitor to Java and other statically-compiled JVM languages, and even tried unsuccessfully to target Android.
Re: The Last Hope for Scala's Infinity War [video]
#35Scala _really_ needs to die.
Re: The Last Hope for Scala's Infinity War [video]
#36Earlier quoted context omitted.
If you think scala editor tooling is bad, check out haskell's. Scala can't lose people comfortable working with nice tools like IDEA to haskell.
Intero with either Visual Code or Emacs is fantastic for Haskell. I own licenses for all JetBrains IDEs, a big fan, but my Haskell setup is equally great to work with.
Re: The Last Hope for Scala's Infinity War [video]
#37Re: The Last Hope for Scala's Infinity War [video]
#38I dumped jvm languages for Rust. Scala _really_ needs to die.
Re: The Last Hope for Scala's Infinity War [video]
#39Typelevel ecosystem is thriving and has great fp projects including Cats, Monix, Doobie, Circe and Fs2.
Having Oop is a great gateway so we can convince our pointy haired bosses and mainstream colleagues that Scala can be gradually adopted into a project
Reactive and actor based patterns, Lightbend and so on don’t get a mention and yet are used throughout industry and are very valuable tools
ZIO maybe 100x faster than Future in certain benchmarks but can I get a 100x speed up on my real world oop code, my actor code, even my future based code, by switching to ZIO
Re: The Last Hope for Scala's Infinity War [video]
#40The criticisms I found strongest from the talk: - Tooling needs improvements. He mentioned how the Scala plugin for IntelliJ IDEA will flag working code as incorrect. It will also fail to flag code that won't compile as written. He didn't mention sbt as a pain point, perhaps because it goes without saying. - Scala 3 (Dotty) has the potential to split the community and libraries for years, much like the Python 2/3 tra…
1. Tooling has seen huge improvements lately. I use many libraries that are macros and implicits heavy, and IDEA does a near perfect job. LSP support is coming too. SBT keeps getting better, and you have a handful of viable alternatives these days. 2. All major Scala releases bring breaking changes, this is incomparable to Python. 3. By any real-life metric (jobs, conferences, meetups, libraries, ...) I don't see evi…
I've never looked deep into SBT myself, but the sbt-native-packager plugin use to be an insane mess of craziness the last time I looked at it.
As far as tooling, I got pretty use to running sbt even if I got red lines and felt that my types were correct. Often it was to see what the compiler error would be and then I'd be surprised to see it compile with no warnings.
Scala is complex. The Intellij issues an be frustrating, but I can also understand how difficult it is to resolve the complexities in Scala.
I still <3 Scala though.