The Language of the System - Rich Hickey
Why Hacker News recommends it
HN recommends it as a key Hickey talk on system design that changes how people think about distributed state and interfaces.
What it is
Rich Hickey's 2013 talk applies language-design thinking to whole systems, covering names, queues, data, failure, and the interfaces between programs. It ends with a call to action for building systems holistically.
Recommended by 10 HN commenters across 9 different months, 2013 to 2025.
What Hacker News said
Strong rec divs1210 · 2015-10 · on “Avout: Distributed State in Clojure”
I came across this after watching Rich Hickey's The Language of The System [1], and it has really changed the way I look at distributed persistent storage. Any thoughts? [1] [this video]
Strong rec elamje · 2021-10 · on “Ask HN: Programming talks that made something click for you?”
Simple Made Easy ( [LINK] ) The Language of the System ( [this video] ) The Value of Values ( [LINK] ) All by Rich Hickey (Clojure creator) - strongest programming speaker I've found to date.
Recommends hueyp · 2014-07 · on “Queues and databases”
This paper describes ideas around #2: [LINK] But yes, your database stores the status of a message. At this point you could drop every single message on your queue and have enough information to resend them. Each message could have its own resend (SLA) semantics. Amazon Simple Workflows is an implementation of this pattern: [LINK] . I've never used SWF but the docs are great food for thought. [edit] Also might be of interest to watch Rich Hickey's 'Language of the System'. ( [this video] -- there are a few versions of this talk, not sure if this is the exact viewing I saw). The talk is not really about queues, but he tries to break things up a bit. You need a data store, you need a queue, etc. As
Recommends nickik · 2014-12 · on “A farewell note to a programming language”
I would suggest to you that Clojure has a very clear "the Clojure Way" I would say, more so then almost any other language. It goes beyond syntax to a pretty deep design level. Its not even all that unique to clojure, you could do 'the clojure way' in other languages, but they usally dont. Some of the importent keynotes from some of the early conjs are really importent, and they really went deep in the community, you can see it in almost every major library. Another commenter has mentioned the notion of 'simple' but thats not really all that clear. I not enougth of a writer to tell you about it, but I can give you the resources: - This classic got Clojure on the map for many people: Are We T
Recommends oskarth · 2015-10 · on “Transit: JSON Data Interchange Format”
The downvotes are because it comes across as a shallow, middlebrow dismissal. An interesting and useful criticism would first engage with the strongest arguments of Rich Hickey (creator of Transit and edn). If you find something in his Language of the System talk ( [this video] ) that you either (a) disagree with (b) think XML solves already, I and many others would certainly be interested in having that conversation. Note that this doesn't mean the exposition of "Why Transit" can't be better, but that calls for constructive criticism on how explain the ideas better, or a question made in qood faith. What it doesn't call for is a hostile reply saying in effect "pff, already been done already, sto
Recommends carljv · 2017-10 · on “Effective Programs: 10 Years of Clojure”
I love this talk, but it does throw out a lot of complicated ideas somewhat loosely, so I get why reactions and interpretations are all over the place. I think a good companion to understanding this better is Rich's talk on "The Language of the System" ( [this video] ). I interpret his overarching thesis as this: Most "situated" programs are in the business of processing information according to complex and changing rules, in cooperation with other programs (i.e., a system). Many languages, though, are overly-concerned with how they represent data internally: classes, algebraic types, etc. This "parochialism", he calls it and "concretion" about how data aggregates should work, make them hard to a
Recommends dunk010 · 2019-05 · on “Why We’re Switching to gRPC”
Rich Hickey, the creator of Clojure, gave a talk with some very relevant points in this space (The Language of the System): [this video]
Recommends ISO-morphism · 2019-11 · on “Keep your source code SIMPLE”
> Clojure with the same exact constructs represented with more C-like syntax would, at the level the presentation speaks to, allow the same level of simplicity. I don't think this is true. I think it would be easier for "most people," but definitely not simpler . Easy meaning close at hand, simple meaning one strand, one braid, independent, less context necessary. Clojure syntax is the AST of the program, right there in front of you, in literal notation. There are fewer special cases, fewer moving parts interacting. C syntax requires spinning up a virtual machine in your mind and executing multiple statements. C is easier because we've already spent the time and effort to familiarize ourselv