Psp collections: views and more by Paul Phillips
AI Council2 HN recommenders · 2014–2018
11K views · talk · dated · Uploaded 2014-02-06
Paul Phillips, a major Scala compiler contributor, gives a long talk on Scala collections and views, using it to critique Scala's design and direction.
Cited in Scala debates as an insider's critique that persuaded many the language's problems were deep.
53:22Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
Confreaks
49:55How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Видео с мероприятий {speach!
42:03The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
GOTO Conferences
1:01:39"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
36:45Rich Harris - Rethinking reactivity
You Gotta Love Frontend
25:06"Making Impossible States Impossible" by Richard Feldman
elm-conf
51:18Lexical Scanning in Go - Rob Pike
GoogleFOSSSydney
1:31:06William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
PapersWeLove
8 comments from Hacker News
> Or use a better language ;-). E.g. in Scala You might want to watch Paul Phillips' recent talk: [VIDEO] You will probably start changing your mind about whether Scala is a "better" language. Especially on the collections side. > to get all the benefits without the drawbacks of Java style subtyping. Actually, the Scala collections have the exact same problems caused by subtyping that Java does (and quite a few more actually, as Paul explains).
> Prof Odersky has been quite vocal about the feature bloat and lets hope the future releases are more conservative in that sense. Languages never get simpler as they age, and Scala is certainly proof of that rule. If anything, advanced features that make up for good academic papers have priority over fixing bugs and streamlining the libraries. Paul Phillips, a Typesafe cofounder, recently left the company and went on a tour explaining why he thought Scala was headed in the wrong direction: [VIDEO]
I actually started learning Scala: completed Odersky's Coursera class and developed a Play 2 project in Scala. Overall I like it, but reading others' code is often frustrating, shorthand shortcuts in language are still kinda alien looking, and even figuring how to handle simple things like multi-file upload with Play's controllers, I feel I don't quite understand what the hell is going on underneath all that magical functional code that I myself wrote by assembling bits and pieces from elsewhere. And then I watch stuff like Paul Phillips presentations [ [VIDEO] ] and I just don't know whether continuing to invest my time in Scala is a wise decision long-term. I'll probably try Clojure at some point, but for production-grade projects I will do Java for now. I feel the most frustrating thing about tech is having to place bets constantly on what to invest your time learning. It's eerily similar to investing in stocks. You never know what's going to live or die. And I'm saying this as a former Delphi developer with multi-year experience. :)
Going by Paul Phillips's (largest contributor to the scala compiler) YouTube rant, [VIDEO] , nobody ever gets over the cliffs. His rant is great, for more than just scala.
Wow. Just starting to watch, but my first thought is: thank goodness he got to give this talk when he did; otherwise he might have exploded. The link that works for me on a desktop browser: [VIDEO]
I am curious to what extent Paul Phillips lecture [ [VIDEO] ] is just a rant or in-depth Scala criticism. If he's right then seems that we should not expect bright future for Scala. I am wondering what Scala experts would say (I don't know Scala sufficiently to trust my judgment)?
I took Odersky's online course and used it for one project. It runs my home lighting system. My experience was definitely mixed. I liked the language for its ambition. I think the notion that OO and functional approaches are complementary worked very well for me. There were a lot of interesting ideas in the language and the ecosystem. However, there were a number of downsides. I came across a couple of bugs that were well known and apparently people were just expected to work around them. As others have said, compile times were terrible, and the tooling wasn't great. And at a one day Scala unconference one of the prominent Scala community members was a flaming asshole to me, which definitely didn't help. What really put me off, though, was what Bruce Eckels described: "I’ve come to view Scala as a landscape of cliffs – you can start feeling pretty comfortable with the language and think that you have a reasonable grasp of it, then suddenly fall off a cliff that makes you realize that no, you still don’t get it." [LINK] This was backed up for me by a talk by Paul Phillips, a major contributor to the Scala compiler: [VIDEO] So in the end, I'm likely to look elsewhere. The next language I'm trying out is Kotlin: [LINK] It's from the IntelliJ IDEA people, who I trust a great deal, and I just got done working through their nice in-browser IDE tutorial: [LINK] So far it seems to have all of the things I like about Scala plus a number of improvements. E.g., fast compile times were a
Could you (and perhaps others) say more about this? I was excited to read that key goals were simplification, clarification, and consolidation. But my exact worry is that they didn't go far enough. I liked the idea of Scala and took Odersky's course. But I built a few things in it and it was never not frustrating. What Bruce Eckels said resonates with me: "I’ve come to view Scala as a landscape of cliffs – you can start feeling pretty comfortable with the language and think that you have a reasonable grasp of it, then suddenly fall off a cliff that makes you realize that no, you still don’t get it." Then I watched this Paul Phillips talk, which convinced me that the problems were deep, not superficial: [VIDEO] My hope with Dotty, etc, was that they had learned a little humility and were pruning back enough to make it a decent developer experience. But I could well believe that it was impossible to do enough and still end up with something that could be fairly called Scala.