HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Dan Abramov The wet codebase

eswarnichtsmehrfrei3 HN recommenders · recommended in 3 months, 2023-2024
YouTube
27K views · 5 years ago · talk · evergreen

Dan Abramov's talk on the wet codebase, using visualizations to show how removing all duplication too early produces wrong abstractions that are hard to unwind.

Recommended in DRY versus duplication debates for its visuals and its case that copy/paste can beat a wrong abstraction.

Software architecture & designTesting, debugging & developer tools#dry#abstraction#danabramov#softwaredesign#refactoring

5 comments from Hacker News

@throwitaway11232024 · in “OOP is not that bad”

I agree with the general sentiment of your comment and I think there are several factors at play here. * The human brain is not capable of evaluating and re-evaluating every possible option amongst the plethora of technical choices developers are faced with. This forces us to develop certain coarse grained mental heuristics (prejudices and biases) to navigate technology, and even if these broad generalizations are roughly true initially, we tend not to re-evaluate them over time. This leads to stale biases (e.g. some library/language was missing an API 10 years ago, and someone formed an immutable opinion on it). * These broad generalizations lack nuance. I watched a talk recently by Dan Abramov where he calls these heuristics (I'm paraphrasing) a form of information compression [1]. That compression is lossy — it doesn't preserve the original context in which the heuristic was formed. * There's also some insecurity at play here too. Developers want to believe that they've chosen The One True Solution, and harshly invalidating the alternatives is one way to reenforce that fantasy. * And of course, social media has exacerbated this problem by rewarding inflammatory hot takes. You won't get nearly as many views/upvotes/likes for a sober take that says "technology X is well suited for this narrow use case" as you will for a hot take that says "why technology X failed", or "why everyone hates technology X". You might enjoy this link: link [1] ▶ this video

CitesView on HN
@halfcat2024 · in “Algorithms we develop software by”

Dan Abramov talks about WET (write everything twice) [1] as generally a good approach, primarily because you often don’t know the right abstraction up front, and a wrong abstraction is way worse than a copy/paste. He has some good visuals that illustrate how incorrectly dependent and impossible to unwind wrong abstractions can become. [1] ▶ this video

RecommendsView on HN
@halfcat2024 · in “Don't DRY Your Code Prematurely”

The visualizations in Dan Abramov’s talk “The wet codebase” [1] really burned this concept in for me. Seeing what a premature, wrong abstraction looks like visually was eye opening. [1] ▶ this video

Strongly recommendsView on HN
@gosukiwi2023 · in “I don’t buy “duplication is cheaper than the wrong abstraction” (2021)”

I like Dan Abramov's "The Wet Codebase" ( ▶ this video ) -- I've been guilty of doing just what he says in his talk at first, removing all duplications and making the codebase DRY. But then I came to like "prefer duplication over the wrong abstraction", as Sandi Metz puts it. Sometimes it's good to wait to have more data to make an easier and more informed decision.

RecommendsView on HN
@shadowfoxx2023 · in “I don’t buy “duplication is cheaper than the wrong abstraction” (2021)”

In my career as a software dev I've found one thing to be true - Every Paradigm I ingest that opens new windows of opportunity are great at first pass and as I learn more the more narrow the scope they can be applied. (This is kinda true in life, too. Like when people say, "Its econ 101 or bio 101." etc. What seems like a statement about 'common' knowledge is actually an indication of how shallow your knowledge is!) Specifically related to this topic is a talk by Dan Abramov called, "The Wet Codebase" - He says it better than I can sum up and has visual aids : ▶ this video Other have pointed out code that is similar in function vs similar by coincidence and I think that thought alone is worth chewing on.

RecommendsView on HN
"Clean" Code, Horrible Performance22:41

"Clean" Code, Horrible Performance

Molly Rocket
1.2M views • 3 years ago
Object-Oriented Programming is Bad44:35

Object-Oriented Programming is Bad

Brian Will
2.6M views • 10 years ago
Cheng Lou - On the Spectrum of Abstraction at react-europe 201635:32

Cheng Lou - On the Spectrum of Abstraction at react-europe 2016

ReactEurope
63K views • 10 years ago
"The Clean Code Talks  -- Inheritance, Polymorphism, & Testing"38:25

"The Clean Code Talks -- Inheritance, Polymorphism, & Testing"

Google TechTalks
438K views • 17 years ago
Data-Oriented Demo: SOA, composition1:32:47

Data-Oriented Demo: SOA, composition

Jonathan Blow
201K views • 11 years ago
Brian Goetz - Stewardship: the Sobering Parts1:03:31

Brian Goetz - Stewardship: the Sobering Parts

ClojureTV
39K views • 11 years ago
A Possible Future of Software Development1:01:33

A Possible Future of Software Development

Google TechTalks
82K views • 18 years ago
"Simple Made Easy" - Rich Hickey (2011)1:01:39

"Simple Made Easy" - Rich Hickey (2011)

ClojureTV
434K views • 5 years ago
"Performance (Really) Matters" with Emery Berger1:04:48

"Performance (Really) Matters" with Emery Berger

Association for Computing Machinery (ACM)
7K views • 6 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
Where Does Bad Code Come From?42:21

Where Does Bad Code Come From?

Molly Rocket
282K 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
Object-Oriented Programming is Embarrassing: 4 Short Examples28:03

Object-Oriented Programming is Embarrassing: 4 Short Examples

Brian Will
2.2M views • 10 years ago
"Performance Matters" by Emery Berger42:15

"Performance Matters" by Emery Berger

Strange Loop Conference
502K views • 7 years ago
Code Bubbles: Rethinking the User Interface Paradigm of Integrated Development Environments8:19

Code Bubbles: Rethinking the User Interface Paradigm of Integrated Development Environments

AndrewBragdon
284K views • 16 years ago
"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)43:04

"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)

Strange Loop Conference
468K views • 4 years ago
Intentional Programming demo (Part 1) - Editor9:59

Intentional Programming demo (Part 1) - Editor

dftube
14K views • 20 years ago
Practical Common Lisp1:12:10

Practical Common Lisp

Google TechTalks
98K views • 19 years ago
Elm Europe 2017 - Evan Czaplicki - The life of a file47:02

Elm Europe 2017 - Evan Czaplicki - The life of a file

Elm Europe
72K views • 9 years ago
"The Mess We're In" by Joe Armstrong45:50

"The Mess We're In" by Joe Armstrong

Strange Loop Conference
398K views • 12 years ago