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

    Effective Programs - 10 Years of Clojure - Rich Hickey

    ClojureTV

    10 HN recommenders · recommended in 18 months, 2017–2026

    YouTube

    1:14:52 · 176K views · Oct 12, 2017

    Rich Hickey's talk at Clojure's tenth anniversary on the kind of programs Clojure is designed for. He argues for situated programs that deal with changing requirements, and for dynamic typing and data over static types.

    HN's go-to link in typing debates and for talk lists, and several call it their favorite programming talk even for non-Clojure users.

    Software Engineering & LanguagesFunctional programmingProgramming language designSoftware architecture & design
    1. 2:32:39
      Clojure Concurrency - Rich HickeyClojureTV73K views • 13 years ago
    2. 1:01:39
      "Simple Made Easy" - Rich Hickey (2011)ClojureTV434K views • 5 years ago
    3. 1:03:29
      Maybe Not - Rich HickeyClojureTV181K views • 7 years ago
    4. 53:56
      Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojurejasonofthel33t119K views • 13 years ago
    5. 1:02:50
      The Language of the System - Rich HickeyClojureTV174K views • 13 years ago
    6. 1:28:59
      Clojure for Lisp Programmers Part 1 - Rich HickeyClojureTV25K views • 13 years ago
    7. 1:48:13
      Clojure for Java Programmers Part 1 - Rich HickeyClojureTV131K views • 13 years ago
    8. 1:10:05
      Are We There Yet - Rich HickeyZhang Jian24K views • 7 years ago
    9. 4:57
      Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made SimpleFred Overflow43K views • 6 years ago
    10. 39:49
      Hammock Driven Development - Rich HickeyClojureTV333K views • 13 years ago
    11. 1:16:14
      Spec-ulation Keynote - Rich HickeyClojureTV136K views • 9 years ago
    12. 1:02:26
      Solving Problems the Clojure Way - Rafal DittwaldClojure/north87K views • 7 years ago
    13. 1:06:24
      Rich Hickey: Deconstructing the DatabaseInfoQ106K views • 14 years ago
    14. 31:44
      The Value of Values with Rich HickeyInfoQ145K views • 14 years ago
    15. 50:01
      Simplicity Ain't Easy - Stuart HallowayClojureTV24K views • 13 years ago
    16. 1:03:31
      Brian Goetz - Stewardship: the Sobering PartsClojureTV39K views • 11 years ago
    17. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    18. 45:00
      "Transducers" by Rich HickeyStrange Loop Conference116K views • 12 years ago
    19. 1:00:46
      "Design in Practice" by Rich HickeyClojureTV65K views • 3 years ago
    20. 36:53
      Rails Conf 2012 Keynote: Simplicity Matters by Rich HickeyConfreaks220K views • 14 years ago

    20 comments from Hacker News

    1. @hdenFeb 2020· in “Requirements volatility is the core problem of software engineering”

      > Requirements change. Every software engineering project will face this hard problem at some point. Rich Hickey calls this a 'situated' program in his talk from Clojure/Conj 2017, where the program has to deal with information and real-world irregularities for extended periods. While agile disciplines help you from one perspective, your tools (e.g. program language) might also help you solve some of the problems. In this framing, Clojure certainly tries to help where the it matters most. Highly recommended to read the transcript or watch the video, even if you are not interested in the language itself. Video: this video Transcript: [LINK]

      Strongly recommendsView on HN
    2. @afandianOct 2018· in “Ask HN: What are some of the best technical talks you've heard?”

      Rich Hickey has a lot of excellent stuff to say. Not only are his ideas philosophically sound, but also real, practical and ready to use in the form of Clojure. This recent review "10 years of Clojure", encapsulates a lot of of the wisdom: this video

      Strongly recommendsView on HN
    3. @dominotwJun 2020· in “A History of Clojure [pdf]”

      Rich hickey explains at this timestamp in the video, this video "The information programming problem" Whole video is gold, is my fav programming talk of all time.

      Strongly recommendsView on HN
    4. @ndrOct 2023· in “Strong typing, a hill I'm willing to die on”

      Consider reading/watching Rich Hickey's talk Effective Programs [0][1] and Maybe Not [2][3] In [0] in particular there're slides 22/23, here is part of the transcript but makes more sense with the slides on: > And you can call them problems, and I'm going to call them the problems of programming. And I've ordered them here [...] I've ordered them here in terms of severity. And severity manifests itself in a couple of ways. Most important, cost. What's the cost of getting this wrong? At the very top you have the domain complexity, about which you could do nothing. This is just the world. It's as complex as it is. > > But the very next level is the where we start programming, right? We look at the world and say, "I've got an idea about how this is and how it's supposed to be and how, you know, my program can be effective about addressing it". And the problem is, if you don't have a good idea about how the world is, or you can't map that well to a solution, everything downstream from that is going to fail. There's no surviving this misconception problem. And the cost of dealing with misconceptions is incredibly high. > >So this is 10x, a full order of magnitude reduction in (?) severity before we get to the set of problems I think are more in the domain of what programming languages can help with, right? And because you can read these they'll all going to come up in a second as I go through each one on some slide so I'm not going to read them all out right now. But importantly t

      RecommendsView on HN
    5. @joncampbelldevMar 2018· in “Types, and Why You Should Care [video]”

      One of the big benefits of clojure being dynamic is that everything is data (e.g. a map, set, vector or list). This is what allows reuse. - The vast core library of functions that manipulate those data structures can be used for everything in your program, cos it's all data. - Most clojure libraries take and/or return data, reducing the need for clumsy adaptors, or even worse not being able to get at the data you need cos the library writer was really enthusiastic about encapsulation of everything they thought was of no use to consumers. - You don't have a person class, you have a map with a first name and last name. Now the function that turns first + last name into full name can be reused for any other map with the same keys. (A rather spurious example, but a real one would take a large codebase and an essay to describe) I can only recommend watching some of Rich Hickey's talks, particularly these ones, they're not entirely about types, but they express the above ideas much better than I can: - Simple made easy [LINK] - Effective programs this video - Are we there yet? (this one is more about OOP, but unless you're using something like haskell, idris etc its relevant for your type system of choice) [LINK]

      RecommendsView on HN