Pacific Northwest Scala 2013 We're Doing It All Wrong by Paul Phillips
Why Hacker News recommends it
Cited as an insider's critique of Scala and of non-incremental compilers, often by people warning others off Scala.
What it is
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.
Recommended by 2 HN commenters across 1 different months, 2013 to 2020.
What Hacker News said
Recommends mietek · 2015-05 · on “What every computer science major should know (2011)”
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]
Recommends arkadiyt · 2015-05 · on “JetBrains' MPS Projectional Editor [video]”
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]
Cites jackfoxy · 2013-10 · on “How Kentucky Built the Country's Best Obamacare Website”
Correctness is the dog. Everything else is tail. Don't know who said that first, might have been this guy [this video]
Cites asdasf · 2014-01 · on “In Defense of Scala. Response to “I Don’t Like Scala””
>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
Cites babs474 · 2014-07 · on “Gradle 2.0”
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 juliangamble · 2014-07 · on “Scala: Next Steps”
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 jongraehl · 2014-09 · on “Policy – A fork of the Scala compiler”
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] )
Cites bkeroack · 2014-10 · on “Scala Best Practices”
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]