Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Simon Peyton Jones - Haskell is useless

    bunidanoable

    2 HN recommenders · recommended in 18 months, 2012–2024

    YouTube

    6:23 · 385K views · Dec 18, 2011

    A short clip of Simon Peyton Jones talking about the future of programming languages, saying Haskell is useless in the sense that pure programs cannot have effects, while mainstream languages are useful but unsafe. He describes languages converging, with ideas such as STM and LINQ moving between them.

    HN cites it constantly in language debates for his useful-versus-safe diagram and the convergence of languages, with commenters clarifying that his remark predates how Haskell handles effects.

    Software Engineering & LanguagesProgramming language designFunctional programming
    1. 1:12:14
      Beyond functional programming: a taste of Verse. Simon Peyton Jones & Tim Sweeney | Lambda Days 2023Code Sync30K views • 3 years ago
    2. 1:04:16
      Simon Peyton-Jones: Escape from the ivory tower: the Haskell journeyChurchill College, University of Cambridge170K views • 9 years ago
    3. 1:03:34
      Simon Peyton Jones - Linear Haskell: practical linearity in a higher-order polymorphic languageCurry On!19K views • 8 years ago
    4. 1:33:37
      Adventure with Types in Haskell - Simon Peyton Jones (Lecture 1)jasonofthel33t69K views • 12 years ago
    5. 46:09
      Why Isn't Functional Programming the Norm? – Richard FeldmanMetosin1.6M views • 7 years ago
    6. 1:19:57
      Simon Peyton Jones: Data Parallel HaskellnuACM28K views • 16 years ago
    7. 1:07:10
      Brian Beckman: Don't fear the Monadjasonofthel33t415K views • 13 years ago
    8. 1:42:53
      Edward Kmett - Type Classes vs. the WorldBoston Haskell36K views • 11 years ago
    9. 1:04:53
      Julia: to Lisp or not to Lisp?European Lisp Symposium24K views • 10 years ago
    10. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    11. 1:05:51
      The Functional Programmer's Toolkit - Scott WlaschinNDC Conferences79K views • 7 years ago
    12. 1:04:35
      The Algebra of Algebraic Data TypesLondon Haskell27K views • 13 years ago
    13. 1:03:29
      Maybe Not - Rich HickeyClojureTV181K views • 7 years ago
    14. 36:31
      Hey Underscore, You're Doing It Wrong!InfoQ141K views • 13 years ago
    15. 12:56
      Stephen Wolfram's Introduction to the Wolfram LanguageWolfram924K views • 12 years ago
    16. 1:50:07
      JSON Parser 100% From Scratch in Haskell (only 111 lines)Tsoding205K views • 6 years ago
    17. 41:06
      "Unison: a new distributed programming language" by Paul ChiusanoStrange Loop Conference45K views • 7 years ago
    18. 58:23
      Evan Czaplicki - Let's be mainstream! User focused design in Elm - Curry OnCurry On!82K views • 11 years ago
    19. 1:04:45
      Stanford Seminar - Concatenative Programming: From Ivory to MetalStanford Online14K views • 8 years ago
    20. 59:04
      On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]PapersWeLove27K views • 7 years ago

    20 comments from Hacker News

    1. @ernst_klimOct 2023· in “Was Rust Worth It?”

      These are two issues, which a theoretically orthogonal but in practice not so much. These are known as soundness and completeness. A good talk on topic [1] Rust will reject a lot of sound programs, and that's a huge performance hit. You are hitting the incompleteness wall with multiple mutable borrowing, closures in structures are a huge source of pain as well. And usually the answer from the community is "use handlers instead of pointers", but this gives you, surprise surprise, manual resource management alike that in C, and the compiler won't help much. Of course this is all subjective but for me the ergonomics of Rust is far too bad. It's a good step in right direction along with ATS, but I really hope we could do better than this. [1] this video

      RecommendsView on HN
    2. @ReleaseCandidatJun 2024· in “Gerald Sussman: Programming is (should be) fun (2022) [video]”

      That must of course be "Haskell is useless" this video But apart from that, his enthusiasm can even make the mseemingly most boring topic interesting. I'd personally start either at "the story of Haskell" Escape from the Ivory Tower [LINK] Or something more recent, about Epic's Verse [LINK]

      RecommendsView on HN
    3. @tchaffeeJul 2018· in “Why not program right?”

      I did a little digging and even started reading "System design from provably correct constructs: the beginnings of true software engineering". From what I can see, it's mostly garbage used to sell the products of the HOS company. James Martin was on the board Higher Order Software, Inc. A company that despite claiming being able to provide "bug free software" went out of business. Here's Edsger Dijkstra debunking the books written about HOS. [LINK] An evaluation by the US Navy concluded. "the HOS literature tends to advertise their ideas and products more than making a contribution in substance to the field of Computer Science. The author recommends that USEIT not be used in the TRIDENT program or any program development at NSWC. Even for a high level system specification, USEIT is not seen as a good choice. A mathematical functional notation or a PROLOG-like notation appears better suited for that purpose. The examples in the Appendices of this report, especially Appendices C, D, and E, show that a LISP-style mathematical notation is more compact and normally easier to read than the control map notation of USEIT. On a more positive note, the author considers the functional approach to system development and programing very promising. Systems so conceived and programs so constructed are more amenable to analysis and therefore, in principle, more reliable and better manageable." [LINK] So are we just talking about functional programming when we say HOS? If so, the pros and con

      CitesView on HN
    4. @klodolphFeb 2017· in “Rust Sucks If I Fail to Write X”

      Let's get this out of the way: Rust is great. Rust apologia like this article is not so great. > As an aside, remember that the only difference to C/c++ is that if you write a “basic linked list” in them, all of your code will be unsafe. There's a bit of mental gymnastics going on here. The word "unsafe" is performing double duty, since it means "memory safety not guaranteed by the compiler" in Rust and it means something else entirely when you are talking about C++, since memory safety was never guaranteed by the compiler in the first place. The other problem with this statement is that linked lists in C or C++ aren’t really that hard to get right, in fact, they’re easy. Maybe you draw out a diagram on pen and paper before you write the code, but you’re unlikely to be facing segfaults. I admit I’m biased here, because I’ve been using Haskell for something like 15 years now, but I feel like the Haskell community acknowledges that Haskell’s type system gets in the way and prevents you from doing useful, interesting work, and that even a great library ecosystem isn’t enough to overcome this. That’s how safety generally works. It’s harder to write programs that do useful things, but in exchange, it’s also harder to write programs that behave unpredictably or do dangerous things. Because Rust and Haskell put you in such restrictive type systems, sometimes you have to break out to get real work done. Haskell’s pitch, in my mind, is, “Let’s make it easy to reason about side effects

      CitesView on HN
    5. @Raphael_AmiardOct 2012· in “Rob Pike: Go at Google”

      I think Simon Peyton Jones says it best about Haskell : this video He says Haskell is useless. Without even debating that (it can certainly be useful for certain classes of programming problems), you can see his point : The goal of Haskell was to start from an ideal view (pure functional programming without side effects) and try and see how to make that eventually practical for everyday programming, without sacrificing the pure core of the language . You have languages, like F# (or even C# !) that takes lessons from Haskell, with at the same time being practical for pretty much every programming task (their platform , .Net, makes them useless for a lot of use cases, but that is another problem) And on the other side (in my opinion), you have languages like Go, being pretty dismissive about pretty much everything learned from languages like Haskell. I respect the point of view of Go's creator, i just disagree with it, and don't see any project i could do in Go that i wouldn't prefer doing in Scala/OCaml/C#. But more power to people who want to do great things in Go ! Go fills a niche (AOT compiled without a VM) that only OCaml fills in the list of languages i have listed, and OCaml is probably much more complicated to learn, even if it is way simpler than Haskell, so even if i don't agree with the design choices, i can see why Go could gain traction (apart from the fact that it is Google powered)

      CitesView on HN