Stuart Sierra - Components Just Enough Structure
ClojureTV2 HN recommenders · recommended in 2 months, 2014-2015
36K views · 12 years ago · talk · evergreen
Stuart Sierra presents the Component library for Clojure, a way to manage stateful services like database connections and thread pools without global mutable state. He draws on both functional and object-oriented principles.
Pointed to as a thought-provoking talk on structuring large systems, including outside Clojure.
1:02:26Solving Problems the Clojure Way - Rafal Dittwald
Clojure/north
87K views • 7 years ago
50:01Simplicity Ain't Easy - Stuart Halloway
ClojureTV
24K views • 13 years ago
1:14:52Effective Programs - 10 Years of Clojure - Rich Hickey
ClojureTV
176K views • 9 years ago
1:03:31Brian Goetz - Stewardship: the Sobering Parts
ClojureTV
39K views • 11 years ago
1:01:39"Simple Made Easy" - Rich Hickey (2011)
ClojureTV
434K views • 5 years ago
1:10:05Are We There Yet - Rich Hickey
Zhang Jian
24K views • 7 years ago
53:56Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure
jasonofthel33t
119K views • 13 years ago
39:15The Maximal Graph - Wilker Silva
ClojureTV
8K views • 6 years ago
39:41Anthony Marcar - Clojure At Scale @WalmartLabs
ClojureTV
24K views • 11 years ago
46:18Om Next - David Nolen
ClojureTV
44K views • 11 years ago
42:25Glenn Vanderburg - Cló: The Algorithms of TeX in Clojure
ClojureTV
9K views • 11 years ago
1:02:50The Language of the System - Rich Hickey
ClojureTV
174K views • 13 years ago
2:32:39Clojure Concurrency - Rich Hickey
ClojureTV
73K views • 13 years ago
40:00"Agility & Robustness: Clojure spec" by Stuart Halloway
Strange Loop Conference
25K views • 10 years ago
36:14Barliman: trying the halting problem backwards, blindfolded - William Byrd, Greg Rosenblatt
ClojureTV
8K views • 9 years ago
36:42Bottom Up vs Top Down Design in Clojure - Mark Bastian
ClojureTV
29K views • 10 years ago
35:32Inspiring a future Clojure editor with forgotten Lisp UX - Shaun Lebron
ClojureTV
23K views • 9 years ago
33:06REBL - Stuart Halloway
ClojureTV
25K views • 7 years ago
40:31Understanding Specter: Clojure's missing piece
Misophistful
12K views • 9 years ago
1:28:59Clojure for Lisp Programmers Part 1 - Rich Hickey
ClojureTV
25K views • 13 years ago
4 comments from Hacker News
This talk might be of interest Stuart Sierra - Components Just Enough Structure ▶ this video - it is a tiny clojure framework but the ideas should be thought provoking, although granted with OO aligned type system not completely adaptable. In this example Customer could possibly just be a data-bucket/map/hashtable/Dictionary, Im not entirely sure how I'd handle reporting though as the example has put me back in OO mode, but a customer report (which knows how to organize data about a customer) shouldnt be part of customer entity (used loosely) in my opinion.
There are a huge number of people who don't enjoy programming in lisps and don't buy the tradeoff that homoiconicity is somehow worth sacrificing all syntax for. You can take 'good parts' from functional programming without going 'all in'. Many of us don't agree that the 'all in' is actually better. (See Gary Bernhardt's 'Boundaries' talk [0] for an amazing explanation of what I mean by taking the good parts of FP). React isn't really about functional programming, it's very object-oriented. And where the parent comment refers to 'composition', they mean composition of components/view code, not pure functions as you may have interpreted it as. Personally my dive into the Clojure community has been very frustrating, I find very few answers on how to actually compose large apps, and the answers I do find basically point back to OOP (but implemented in a syntax-less, ad-hoc manner [1]). If I've got this wrong, please tell me, I'm dying for better answers. [0] link [1] Stuart Sierra - Components Just Enough Structure - ▶ this video
> but once you need to go for something bigger, with big teams, the thing start to melt down. The people in the Clojure community have already started exploring this issue. Component [1] [2], Jig [3], and others are trying to add just enough OOP back for the reasons you mentioned. [1] link [2] ▶ this video [3] link
Can't agree with your implication that 'real JS stuff' won't get done and 'JS people' won't get on board due to its 'focus on OOP'. I've yet to see a large JS app written in a 'functional style'. Most large client-side apps I've come across are written in Backbone, Angular, Ember etc. which are all frameworks/libraries that embrace OOP. You shouldn't mistake JavaScript's 'prototypal' nature for it being a non-OOP language. JavaScript and OOP are a very good fit. > The people who will appreciate the trappings of OOP are more than likely the typical classically trained programmers, who will write 300 lines of Spider on the frontend of their Python hobby project, and not touch it again. If you're really dismissing __all of OOP__ to that extent I feel like you are seriously misunderstanding OOP and I highly recommend you read/watch at least: - POODR by Sandi Metz [1] - Explores OOP, SOLID principles, testing, more. The best book on OOP I've ever read. Ignore the fact the code examples are in Ruby (by that I mean, they're easy to understand). - Refactoring by Martin Fowler [2] - The definitive refactoring book... which goes hand in hand with OOP. - Boundaries (Talk) by Gary Bernhardt [4]. He talks about the 'functional core, imperative shell' pattern of software architecture that acknowledges the fact that some form of OOP/procedural/imperative programming is unavoidable. It's a great talk. Outright dismissal of OOP really has no place in modern programming. Even if you get into f