Talks to Watch

Pacific Northwest Scala 2013 We're Doing It All Wrong by Paul Phillips

65K views · Oct 25, 2013 · 50:43 · 2 HN recommenders · 16 mentions · discussed 2013–2020

Paul Phillips, a former Scala core contributor, argues after moving a million lines of code that much of what the software industry does is wrong. He critiques Scala and compiler design and calls for better approaches.

Why Hacker News points people here: Cited as an insider's critique of Scala and of non-incremental compilers, often by people warning others off Scala.

“Anyone seriously considering Scala should listen to his talk”HN comment, 2015

What Hacker News said 16

RecommendsmietekMay 2015

“Anyone seriously considering Scala should listen to his talk”

Former Scala core contributor's critique, worth hearing before adopting Scala

Full comment

5 years ago, Paul Phillips was still a core contributor to Scala. Anyone seriously considering Scala should listen to his talk, titled “We’re doing it all wrong”, and take a look at Policy, his fork of the Scala compiler. this video link Previous discussion: link

in “What every computer science major should know (2011)” · view on HN
RecommendsarkadiytMay 2015

“I would highly recommend the following rants against Scala by Paul Phillips”

Rant against Scala that also covers editing syntax trees directly

Full comment

If you enjoy these types of compiler videos then I would highly recommend the following rants against Scala by Paul Phillips (from TypeSafe and one of the core language contributors). He also talks about wanting to edit abstract syntax trees directly: this video link

in “JetBrains' MPS Projectional Editor [video]” · view on HN
Cites itjackfoxyOct 2013

“Correctness is the dog. Everything else is tail.”

Paul Phillips talk on what Scala gets wrong

Full comment

Correctness is the dog. Everything else is tail. Don't know who said that first, might have been this guy this video

in “How Kentucky Built the Country's Best Obamacare Website” · view on HN
Cites itasdasfJan 2014

Cited as evidence Scala has inconsistencies average programmers miss

Full comment

>Edward Kmett is a Haskell evangelist Really? Could you point me to some of his evangelizing? Or did you mean "he uses haskell and is quite happy with it"? Because that isn't the same thing. >inconsistencies that the average programmer will never even realize exist. Do you honestly believe that? this video >Scala that only when you leave it's confines do you realize, shit, I miss But the very point Edward makes is that you don't give up those things when you leave scala. You only give up those things if you leave scala for something worse. You could leave for something better, keep all those things, and get tons of important things that you also won't realize you are missing until you get used to them and then try to live without them.

in “In Defense of Scala. Response to “I Don’t Like Scala”” · view on HN
Cites itbabs474Jul 2014

“presentation where Paul Phillips lays in to scala for 50 minutes.”

Scala core contributor criticizes Scala for 50 minutes

Full comment

Very True. I'm pretty sure that quote wasn't meant to be a critique of the Groovy language, just an expression of interest in Scala. Yet its brought out every time somebody wants to dismiss Groovy. Compare that quote to this[1] presentation where Paul Phillips lays in to scala for 50 minutes. Even when somebody does criticize their own creation I doubt they mean "Hey everybody, that thing I spent a bunch of time on? Throw it all in the garbage, its pointless". [1] this video

Cites itjuliangambleJul 2014

“the lead developer on the Scala Compiler, Paul Phillips, went slightly AWOL last year”

Scala compiler lead's talk explaining his departure and critique

Full comment

Some context - the lead developer on the Scala Compiler, Paul Phillips, went slightly AWOL last year, and presented the talk "We're doing it all wrong" this video link He still seems slightly burnt by the whole thing: link Other critiques of Scala collections have been made with the Typelevel library link which aims to fix these issues. This post, 'Next Steps', seems to have come out of Martin Odersky's response to the situation. I commend him for taking practical and thought out action.

Cites itjongraehlSep 2014

Slide on implicit numeric conversions and Float precision

Full comment

Paul, why do you say it's wrong that Float(Long.max - Int.max) is equal to Float(Long.max)? Float has less than 32 significant binary digits, and Long.max - Int.max has the same MSBs as Long.max. You would need to use Double to see the difference. I'm not sure what implicit conversions/promotions have to do with that - you want a warning or error when going from Long to Float? That would be reasonable. You can even lose significant digits between Int->Float and Long->Double even though they have the same total number of bits, so you could require those to be explicit. (from a slide in this video )

in “Policy – A fork of the Scala compiler” · view on HN
Cites itbkeroackOct 2014

“The compiler internals are reportedly a mess”

Cited as support for Scala compiler internals being messy

Full comment

a) Martin Odersky has admitted as much[1]. b) The compiler internals are reportedly a mess[2]--likely due at least in part to the extreme number of different syntax variants. c) I find rule 4.1 in OP interesting ("SHOULD avoid concurrency like the plague it is"). According to Odersky's Coursera course[3], one of the main advantages of functional programming as enabled by Scala is easy, safer concurrency (reduced/absent mutable shared state). Yet here we see a presumably seasoned Scala veteran basically saying that this is a failure and we should avoid concurrency whenever possible because it results in too many bugs. 1. link 2. this video 3. link

Cites itDewieMar 2015

“All I knew about him beforehand is from watching this video[1]”

Paul Phillips on what Scala does wrong

Full comment

Oh damn, I didn't know they were the same person. All I knew about him beforehand is from watching this video[1], but it's weird to read about a person and then find out that they also were the same person that you knew from somewhere else. [1] (How Scala [Typesafe] is doing "everything wrong") this video

in “The underground world of neuroenhancing drugs (2009)” · view on HN
Cites itbobm_kite9Aug 2015

“This video is 2 years old now, but I think it marked the point when I stopped investigating scala.”

Talk that made commenter stop investigating Scala

Full comment

Really good points. I expect you're right about the expressiveness, although I don't really know exactly what you mean by this. The "buffet of abstractions" available in Scala actually put me off it. For me, there are too many options available to expect to have readable, maintainable code at the end of it all, especially if you work in a team which regularly creates almost wilfully hard-to-comprehend java. This video is 2 years old now, but I think it marked the point when I stopped investigating scala. this video

in “Compilers Are Databases [video]” · view on HN
Cites itpasNov 2016

Scalac performance and incremental compilation talk

Full comment

Scala's new compiler (dotty) also tries to go that way (first of all using streaming AST-s for better cache locality). The problem is, that usually this "keep state and just percolate changes" is easier said than done. But we're getting there. See also: this video (scalac performance) this video (what do we really need from "computing science" to do programming) link

in “How to speed up the Rust compiler some more” · view on HN
Cites itpasAug 2020

“an ex-Scala core contributor's lament about why compilers have to be incremental”

Ex-Scala core contributor on why compilers must be incremental

Full comment

A bit tangential, but - an ex-Scala core contributor's lament about why compilers have to be incremental: this video - a Rust core team member talking about responsive compilers: link (basically the "low-level" implementation of the talk at the previous link)

in “What Is the Minimal Set of Optimizations Needed for Zero-Cost Abstraction?” · view on HN
CriticalcoolsunglassesDec 2013

“The Scala community didn't lose one its best core developers for nothing.”

Full comment

Right, and how well do subtyping and implicits get along? This is the problem, everything and the kitchen sink is tossed into Scala without any consideration for how well things work together because they've let it be a PLT grad students playground. link this video The Scala community didn't lose one its best core developers for nothing. I mention Clojure and Haskell in the same breath because FP and immutability are what I care about and Scala fails to be a nice functional language.

in “Why Scala is the best language available today” · view on HN
CriticalplatzJan 2014

“My sample size is small, but the sentiment mainly comes from this”

Full comment

My sample size is small, but the sentiment mainly comes from this: "Pacific Northwest Scala 2013 We're Doing It All Wrong by Paul Phillips - YouTube" [1] [1] this video

CriticalfiatmoneyFeb 2014

“it looks like gazing into the guts of the compiler puts one on a course towards a nervous breakdown.”

Full comment

This is a thing about Scala which gives me pause: it looks like gazing into the guts of the compiler puts one on a course towards a nervous breakdown. this video

in “Why we love Scala at Coursera” · view on HN
CriticaljoehillenMar 2014

“you should need no more reason to avoid Scala than this”

Full comment

What is Scala doing in the same list with Rust, Julia, Nimrod, and C++? You do realize there is a JVM preventing it from being a systems level language, right? Also, you should need no more reason to avoid Scala than this: this video If you're interested in Scala, learn Haskell. It's faster, its design is re-enforced with proven mathematical concepts, and it doesn't have the worst syntax ever.

in “Consider the Nimrod Programming Language” · view on HN