Bottom Up vs Top Down Design in Clojure - Mark Bastian
What it is
Mark Bastian contrasts top-down object-oriented design with bottom-up, data-oriented design in Clojure. He models a board game as plain data plus small composable functions and compares it with a roughly 22-class OOP version.
Why Hacker News recommends it
HN repeatedly recommends it as the talk that made data-oriented, REPL-driven bottom-up design click.
- 5 people recommended it
- 7 different months
- 4 strong recommendations
- first 2016, last 2021
What HN commenters said
“One of my favorite videos from Clojure Conj last year”
Contrasts data-oriented and OO modeling of a board game with big simplicity gains.
lewisl9029, 2016-03 · Strong recommendation · in “A Database Model for Simple Board Games”
“Here's a good video highlighting the difference of approach. Well worth watching.”
Highlights how top-down design creates needless complexity.
beders, 2019-04 · Strong recommendation · in “Show HN: Tetris Implemented in ClojureScript”
“is the talk that really made it clear to me how to design programs this way.”
Made clear how to design programs bottom-up with a REPL.
robto, 2021-04 · Strong recommendation · in “Making a Lego Domino Machine [video]”
“I think, a "Data Driven Development" approach would make a lot of implementations easier.”
Talk on data-driven development making implementations easier.
cygned, 2016-10 · Recommendation · in “Modern Software Over-Engineering Mistakes”
“It is however a very good tool to do bottom up design.”
Shows Clojure as a good tool for bottom-up design.
abc_lisper, 2017-01 · Recommendation · in “Making the move from Scala to Go”
Excerpts from Hacker News comments, linked to the originals. Summaries and labels were written by a language model from those comments.
Topics: clojure, data-oriented design, oop vs functional, repl, board games
Also recommended by the same people
talkReact Helsinki February 2020Fraktio · 2 HN recommenders · 2021–2025
talkConflict Resolution for Eventual Consistency • Martin Kleppmann • GOTO 2016GOTO Conferences · 3 HN recommenders · 2017–2020
lectureIn Search of TomorrowBerkeley Institute for Data Science (BIDS) · 9 HN recommenders · 2015–2018
talkTree-sitter: a new parsing system for programming tools - GitHub Universe 2017GitHub · 2 HN recommenders · 2018–2022
talkHammock Driven Development - Rich HickeyClojureTV · 12 HN recommenders · 2014–2024
podcastDavid Reich — How one small tribe conquered the world 70,000 years agoDwarkesh Patel · 4 HN recommenders · 2024–2025
talk🚀 TDD, Where Did It All Go Wrong (Ian Cooper)DevTernity Conference · 11 HN recommenders · 2018–2024
talkRuby Conf 12 - Y Not- Adventures in Functional Programming by Jim WeirichConfreaks · 17 HN recommenders · 2013–2026