Keynote: The Last Hope for Scala's Infinity War - John A. De Goes
Scalapeño2 HN recommenders · recommended in 2 months, 2018–2021
talk · intermediate · 2018–2021 on HN
John A. De Goes's Scalapeno keynote argues that Scala's popularity is declining because of compile times, complexity and compatibility problems. He proposes a path for Scala to survive, including a simplified functional subset.
Cited in Scala and language-marketing discussions for its accurate account of Scala's pain points and its argument that a language's pitch must address a real developer pain.
Up next
1 mo on HNWarren Buffett: Bitcoin Is An Asset That Creates Nothing | CNBC
CNBC
1 HN recommend · 2018–2021
7 mo on HNCppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions”
CppCon
7 HN recommender · 2020–2026
18 mo on HNRuby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
Confreaks
17 HN recommender · 2013–2026
14 mo on HNThe Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
GOTO Conferences
16 HN recommender · 2019–2024
14 mo on HN"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
14 HN recommender · 2022–2026
13 mo on HN"Making Impossible States Impossible" by Richard Feldman
elm-conf
9 HN recommender · 2017–2026
12 mo on HNWilliam Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
PapersWeLove
11 HN recommender · 2017–2026
11 mo on HNThe Value of Values with Rich Hickey
InfoQ
10 HN recommender · 2014–2023
12 mo on HNWhy Isn't Functional Programming the Norm? – Richard Feldman
Metosin
12 HN recommender · 2019–2025
11 mo on HNMaybe Not - Rich Hickey
ClojureTV
14 HN recommender · 2018–2025
11 mo on HNSolving Problems the Clojure Way - Rafal Dittwald
Clojure/north
10 HN recommender · 2019–2025
10 mo on HNLecture 1A: Overview and Introduction to Lisp
MIT OpenCourseWare
10 HN recommender · 2019–2026
5 comments from Hacker News
There are certainly folks that argue the language it too big. Here's a great talk arguing that a lot of language features should be eliminated and Scala should be made a functional programming language: ▶ this video I'm personally in the camp of "keep Scala huge and weird and multi-paradigm, but just make less breaking changes and focus all efforts on making the ecosystem more stable".
Scala is interesting language, but I wish it had tighter focus. John De Goes describes pain points quite accurately in Scalapeno keynote: ▶ this video
Yep, there is even a talk on the Scala Infinity War which argues for one subset version of Scala that it needs in order to survive: ▶ this video For me, Scala is a multi-paradigm language with tons of features. The community just needs different types of style guides for different apps. vars are horrifying for the functional crowd, but cool with me for example.
Weird nitpick, but "No Makefiles required" is an odd selling point to me. I haven't seen or used a Makefile in eons, and I would wager a decent chunk of programmers never needed to. I'm not sure how to describe the feeling this creates. Like...I can feel the authors other experiences shine through or something to that effect. There was a talk awhile ago by John A. De Goes where he asserted roughly that Scala's then pitch of "combines object oriented and functional programming" was basically gobbledygook from the standpoint of "why would I use this language." ▶ this video I feel much the same way about Racket. Cool, very advanced DSLs and mini languages...what does that give me? What can I do with that? Most of the page is dedicated to justifying "no wait everyone, we have the bare minimum number of libraries" or waxing poetic about the mini language concept. What is the reason to use this over a less "lexically powerful" lisp like Clojure? What is the reason to use this over one of the boring old stalwarts like Java or Python? Can I read from a Kafka queue? Can I call into AWS? Google Cloud? How strong are the libraries, and what would I have to commit to writing myself? I actually do not understand why I would use Racket, and this page doesn't help.
> Egison is a programming language that realizes non-linear pattern-matching against non-free data types. It's a what? Can someone ELI5 this for a lowly Python and JS dev - why would I want this? ---- I watched a talk about Scala's future [0] recently, in which the presenter compared the taglines of a few different languages (Go, Rust, Erlang, Scala), and how they relate to business pains or non-academic problems. His conclusion about Scala's tagline - "Scala combines object-oriented and functional programming in one concise, high-level language" is that "no engineering manager in the history of software development ever thought to themselves 'hmmm, if only I had a language that fused OO and FP, I'd be able to solve my business problems'. That hasn't happened; that will never happen. This is an academic novelty that has zero relevance to any of us as professional software developers [...] this is not a business pain, this is an academic interest." I felt a little bit like that when I read Egison's tagline: why should I care about this language? [0] "The Last Hope for Scala's Infinity War" ▶ this video