Skip to content
0:00 / 0:00

#clojure#stuarthalloway#simplicity

Simplicity Ain't Easy - Stuart Halloway

ClojureTV

111K subscribers • 136 videos on Hallway

YouTube
  • Recommended by 5 people: 5 on Hacker News.
  • A classic. People kept recommending it from 2013 to 2016.
  • Presented by Stuart Halloway, co-founder of Cognitect
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

23K views13 years ago5 recommendations

Software designProgramming languagesSimplicity and complexityFunctional programmingDesign patterns

Stuart Halloway explores the objective definition of simplicity, its etymological roots, and how it applies to software design and Clojure.

A quick review of what programmers have to say about simplicity might lead you to the following (incorrect!) conclusions: every language/design approach/tool under the sun lays claim to simplicity, usually as a key virtuesimplicity means many different things and is so subjective as to be worthless In fact, simplicity is objective. It has a definition, and an etymology, that are very useful to software developers. In this talk, we will: cut through the noise to the definition of simplicitydemonstrate how simplicity informs the design of Clojure, and Clojure programshelp you make your programs simpler, and explain to others what this means, and why.

Why it's here

5 people recommend this

What people say. Highly recommended alongside Rich Hickey's talks for its deep, etymological analysis of simplicity in software architecture.

jacoboluson Hacker News • Recommends

On “Ask HN: What's the best technical talk you've heard?”

Also see Stuart Halloway’s earlier talk, Simplicity Ain’t Easy . There’s a fair amount of overlap with Rich Hickey’s talk, but both are worth watching: link to this video And also his talk Radical Simplicity : link

JeanPierreon Hacker News • Recommends

On “Who Says C is Simple?”

To get an even better explanation on what the word "simple" means and what it derives from, I would recommend "Simplicity Ain't Easy" by Stuart Halloway1. While it is very similar to "Simple made Easy", it focuses a lot more on the etymology of the words "simple" and "complex" and how people misuse the word. 1: link to this video

dkerstenon Hacker News • Recommends

On “I don't love the single responsibility principle”

I'll add this to your links: link to this video He talks about his definition of "simple" (by digging into what the original English definition was) and what that means for code.

nickikon Hacker News • Recommends

On “A farewell note to a programming language”

…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 There Yet? - Rich Hickey www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey - Simple Made Easy - Rich Hickey - link - Simplicity Ain't Easy - Stuart Halloway - link to this video - Ousterhout's Dichotomy Isn't (Part 2 of the Simplicity/Power/Focus Series) - Stuart Halloway - link to this video - The Language of the System - Rich Hickey link - Hammock Driven Development - Rich Hickey link In addition to these, there are many talk that are about people trying to run with these ideas. Datomic is a example of taking these idea…

jacoboluson Hacker News • Recommends

On “UDP and me”

If you haven’t seen them, I recommend the Clojure guys’ talks about the subject of simplicity. They reached into the etymological history of the word “simple” to pull out its early definition, which is quite precise and IMO tremendously useful in this context, unlike the confused muddle of modern definitions. Rich Hickey, “Simple Made Easy”: link Stu Halloway, “Simplicity Ain’t Easy”: link to this video

mindcrashon Hacker News • Recommends

On “Ask HN: Relationship between OO and functional programming?”

Stuart Halloway has a great talk on this called "Simplicity Ain't Easy" 0 where he more or less states that a FP language like Clojure is basically a better designed OOP language, because FP is basically contains all its strengths (namespaces, abstractions and the like) and none of its weaknesses (e.g. uncontrolled state mutation) and you are able to select and use specific features you need to solve a specific problem, and not being saddled with every feature (including the ones you do not need to solve the problem at hand) at once. 0 link to this video

nickikon Hacker News • Mentions

On “Lisp: More is less”

> OOP is widely-used and easily comprehended because it is a fairly simple way of modeling reality that is compatible with how human beings do it. Have we not learn by now that these systems are not easy to reason about. Are not all the things one first learns (ie Animal -> Dog) bullshit and should be avoided. Why is it in every good OO book that, composition is better then inheritance. Why is every OO book full of examples about how to avoid mutabiltiy and make the system easy to reason about? The idea that OOP systems (as generally) thougth of goes completly out of the window as soon as you have any kind of concurency, even just event handling. > which rejects OOP It does not reject, it ta…

joncampbelldevon Hacker News • Mentions

On “If statements considered harmful”

polymorphism is very good, but not handcuffed to OOP. Clojure protocols, Haskell typeclasses (and many other examples I'm sure) provide the same functionality "a la carte" without the rest of OOP's features coming along for the ride (to paraphrase Rich Hickey and Stuart Halloway). More eloquently explained details in this talk at around the 21 min mark 0. 0 link to this video