HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Simplicity Ain't Easy - Stuart Halloway

ClojureTV5 HN recommenders · recommended in 6 months, 2013-2017
YouTube
24K views · 13 years ago · talk · evergreen

Stuart Halloway argues that simplicity is objective, with a definition and etymology useful to programmers, rather than a subjective buzzword. He shows how this view informs Clojure's design and how to make programs simpler.

HN commenters recommend it, alongside Rich Hickey's talk, for its precise definition of simple versus easy and its implications for code design.

Software architecture & designFunctional programming#clojure#simplicity#softwaredesign#richhickey#functionalprogramming

8 comments from Hacker News

@joncampbelldev2017 · in “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] ▶ this video

CitesView on HN
@mindcrash2016 · in “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] ▶ this video

RecommendsView on HN
@jacobolus2015 · in “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”: ▶ this video

RecommendsView on HN
@nickik2014 · in “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 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 - ▶ this video - Ousterhout's Dichotomy Isn't (Part 2 of the Simplicity/Power/Focus Series) - Stuart Halloway - ▶ 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 ideas to the max, it really standas as a nice example. You can find others in talks by David Nolan for example, but there are tons of applied talks. - The Design of Datomic - Rich Hickey link

RecommendsView on HN
@dkersten2014 · in “I don't love the single responsibility principle”

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

RecommendsView on HN
@nickik2014 · in “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 takes the usful features like polymorpism and gives them to you. Protocols are better then interfaces, better then duck typing. > In Clojure, if I want to define a symbol there are nine different ways of doing so. There are a lot more then nine. But I would recomend rich or stus talks on simple vs easy. Just saying there is nine of something and thus its complicated is idiotic. Java has only one thing, classes, does that make it simply, or does that just mean that its hoplessly overloaded? Clojure is extreamly simply. State can only live in a var, atom, ref or agent. Every one of these has clear semantics, this includes clear sematnics in a multithreaded world. No other language has such clearly defined state management. > Clojure claims to include these language features as a way to mitigat

CitesView on HN
@JeanPierre2013 · in “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 Halloway[1]. 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]: ▶ this video

RecommendsView on HN
@jacobolus2013 · in “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: ▶ this video And also his talk Radical Simplicity : link

RecommendsView on HN
"Simple Made Easy" - Rich Hickey (2011)1:01:39

"Simple Made Easy" - Rich Hickey (2011)

ClojureTV
434K views • 5 years ago
"Simple Made Easy" - Rich Hickey (2011)1:01:39

"Simple Made Easy" - Rich Hickey (2011)

Strange Loop Conference
219K views • 5 years ago
Rails Conf 2012 Keynote: Simplicity Matters by Rich Hickey36:53

Rails Conf 2012 Keynote: Simplicity Matters by Rich Hickey

Confreaks
220K views • 14 years ago
Effective Programs - 10 Years of Clojure - Rich Hickey1:14:52

Effective Programs - 10 Years of Clojure - Rich Hickey

ClojureTV
176K views • 9 years ago
Solving Problems the Clojure Way - Rafal Dittwald1:02:26

Solving Problems the Clojure Way - Rafal Dittwald

Clojure/north
87K views • 7 years ago
Stuart Sierra - Components Just Enough Structure41:19

Stuart Sierra - Components Just Enough Structure

ClojureTV
36K views • 12 years ago
Stuart Halloway - Narcissistic Design37:15

Stuart Halloway - Narcissistic Design

Reaktor
29K views • 9 years ago
Clojure for Lisp Programmers Part 1 - Rich Hickey1:28:59

Clojure for Lisp Programmers Part 1 - Rich Hickey

ClojureTV
25K views • 13 years ago
"Agility & Robustness: Clojure spec" by Stuart Halloway40:00

"Agility & Robustness: Clojure spec" by Stuart Halloway

Strange Loop Conference
25K views • 10 years ago
Are We There Yet - Rich Hickey1:10:05

Are We There Yet - Rich Hickey

Zhang Jian
24K views • 7 years ago
Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made Simple4:57

Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made Simple

Fred Overflow
43K views • 6 years ago
Bottom Up vs  Top Down Design in Clojure - Mark Bastian36:42

Bottom Up vs Top Down Design in Clojure - Mark Bastian

ClojureTV
29K views • 10 years ago
Clojure Concurrency - Rich Hickey2:32:39

Clojure Concurrency - Rich Hickey

ClojureTV
73K views • 13 years ago
Maybe Not - Rich Hickey1:03:29

Maybe Not - Rich Hickey

ClojureTV
181K views • 7 years ago
The Language of the System - Rich Hickey1:02:50

The Language of the System - Rich Hickey

ClojureTV
174K views • 13 years ago
Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure53:56

Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure

jasonofthel33t
119K views • 13 years ago
Clojure for Java Programmers Part 1 - Rich Hickey1:48:13

Clojure for Java Programmers Part 1 - Rich Hickey

ClojureTV
131K views • 13 years ago
Spec-ulation Keynote - Rich Hickey1:16:14

Spec-ulation Keynote - Rich Hickey

ClojureTV
135K views • 9 years ago
Tim Ewald - Clojure: Programming with Hand Tools58:39

Tim Ewald - Clojure: Programming with Hand Tools

ClojureTV
48K views • 12 years ago
"Code is the Easy Part" by Evan Czaplicki38:26

"Code is the Easy Part" by Evan Czaplicki

elm-conf
43K views • 10 years ago