RailsConf 2015 - Nothing is Something
Confreaks3 HN recommenders · recommended in 3 months, 2016–2024
talk · intermediate · evergreen · 2016–2024 on HN
Sandi Metz argues that hidden assumptions in code are missing concepts, and shows how to name and expose them so code is easier to understand and change. It covers null objects and messages in Ruby.
HN recommends it as a funny, smart and well-constructed talk on abstraction, duplication and object-oriented design.
Up next
15 mo on HNRailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
15 HN recommender · 2015–2025
14 mo on HN"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
14 HN recommender · 2022–2026
13 mo on HN"Making Impossible States Impossible" by Richard Feldman
elm-conf
9 HN recommender · 2017–2026
12 mo on HNHow To Design A Good API and Why it Matters
Google TechTalks
12 HN recommender · 2011–2025
11 mo on HNThe Value of Values with Rich Hickey
InfoQ
10 HN recommender · 2014–2023
10 mo on HNOverwatch Gameplay Architecture and Netcode
GDC Festival of Gaming
16 HN recommender · 2019–2025
11 mo on HNSolving Problems the Clojure Way - Rafal Dittwald
Clojure/north
10 HN recommender · 2019–2025
10 mo on HNLecture 1A: Overview and Introduction to Lisp
MIT OpenCourseWare
10 HN recommender · 2019–2026
11 mo on HNAlan Kay - Normal Considered Harmful
powerfuloutlet
10 HN recommender · 2012–2026
10 mo on HNA Philosophy of Software Design | John Ousterhout | Talks at Google
Talks at Google
11 HN recommender · 2018–2026
10 mo on HN"Uncle" Bob Martin - "The Future of Programming"
Paul Stringer's Mobile Tech
10 HN recommender · 2016–2022
10 mo on HNEffective Programs - 10 Years of Clojure - Rich Hickey
ClojureTV
10 HN recommender · 2017–2026
5 comments from Hacker News
I'd like to mention that despite OOP being in the title, I thought this book had a lot to teach that isn't specific to OOP architecture or OOP languages. Really, I think the star of the show is TDD and refactoring. For a short intro to Sandi's style and approach, I always recommend this 35min talk: ▶ this video Aside from any specifically educational content, as a talk it is fantastic - funny, smart, well put together.
Couldn't agree more. Sandi Metz has an excellent talk touching on this topic. Developers exaggerated willingness to keep things DRY and elaborates a bit on why: it's one of the easiest things for a not-so-experienced developer to identify and one of the easiest things to teach. Edit: One of the best quotes from that talk is (paraphrased): "The wrong abstraction is a lot more expensive than duplicated code". ▶ this video
The premise is the introduction is wrong. "so before we have written a single program in our language, before we know whether shared behaviour will be important in the applications that will be written in it" read the POODR book, or watch this ▶ this video it explains how shared behavior works without code duplication and why people tend to mess it up.
You do have another solution that can lower the amount of conditions: Null Objects. These don’t fit every use cases, but they can allow you to express what’s missing, or not defined, or empty, and avoid nil pointers dereference or conditions to check the state. As Sandy Metz is used to say « Nothing is Something »[0] 0: ▶ this video
Here's one talk about 'message' in Ruby: RailsConf 2015 - Nothing is Something ▶ this video But to me, this simply looks like Functional Programming done in an OOP mess.