object-oriented design
1:23:35Bob Martin SOLID Principles of Object Oriented and Agile Design
517K views • 11 years ago
People career
Robert C. Martin (Uncle Bob) gives a talk on the SOLID principles of object-oriented and agile design, in the context of encapsulation and clean code.
1:27:46CppCon 2014: Mike Acton "Data-Oriented Design and C++"
862K views • 12 years ago
CppCon
Mike Acton of Insomniac Games argues that a program's purpose is transforming data, and shows how common C++ approaches work against that in performance-critical game development. He covers cache behavior, data layout and the limits of compilers.
28:03Object-Oriented Programming is Embarrassing: 4 Short Examples
2.2M views • 10 years ago
Brian Will
Brian Will follows up his earlier anti-OOP video by walking through four short code examples, including Java code in the style of Uncle Bob, to show how object-oriented design complicates simple programs. It argues that OOP hides and scatters state and adds needless indirection.
44:35Object-Oriented Programming is Bad
2.6M views • 10 years ago
Brian Will
Brian Will makes the case for procedural programming over object-oriented programming, arguing that OOP's promised encapsulation and decoupling are largely illusory. He analyzes real code examples and the problems of tying data to behavior in classes.
36:42Bottom Up vs Top Down Design in Clojure - Mark Bastian
29K views • 10 years ago
ClojureTV
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.
46:40Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)
415K views • 2 years ago
ChimiChanga
Andrew Kelley, creator of Zig, presents practical data-oriented design techniques for shrinking memory footprint and making programs cache friendly. He ends with a case study of how these ideas sped up the Zig compiler.
1:00:46CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”
271K views • 8 years ago
CppCon
A CppCon 2018 talk arguing that OOP has failed to deliver on reuse and performance, and presenting data-oriented design for C++ with practical worked examples from real systems.
52:48Object-Oriented Programming is Garbage: 3800 SLOC example
258K views • 10 years ago
Brian Will
Brian Will critiques object-oriented programming and rewrites a roughly 3800-line OO program in a procedural style, cutting code and complexity. It is part of a series of OOP critiques.
2:41:18Seminar with Alan Kay on Object Oriented Programming (VPRI 0246)
31K views • 8 years ago
Yoshiki Ohshima (大島芳樹)
A long recorded seminar in which Alan Kay discusses object-oriented programming, probably from the mid-1980s. He covers the original idea of objects, messaging and the work done at Xerox.
38:47RailsConf 2014 - All the Little Things by Sandi Metz
190K views • 12 years ago
Confreaks
Sandi Metz takes an ugly section of conditional code and refactors it into a few simple objects, bridging object-oriented theory and practice. The talk includes her take on the Gilded Rose refactoring kata and the idea that duplication is cheaper than the wrong abstraction.
Topic match · Software architecture & design
35:53RailsConf 2015 - Nothing is Something
84K views • 11 years ago
Confreaks
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.
Topic match · Software architecture & design
1:32:47Data-Oriented Demo: SOA, composition
201K views • 11 years ago
Jonathan Blow
A live-coded demo by Jonathan Blow showing how to get object-system-style expressiveness in a data-oriented way, covering structure-of-arrays layouts and composition. It shows features of his Jai language that make programs fast.
1:04:33Alan Kay at OOPSLA 1997 - The computer revolution hasnt happened yet
127K views • 13 years ago
Jeff Gonis
Alan Kay's 1997 OOPSLA keynote, preserved on YouTube after being lost from Google Video. He discusses what object orientation was meant to be, messaging, system design, and the state of computing practice.
Topic match · Software architecture & design
1:00:19How To Design A Good API and Why it Matters
453K views • 19 years ago
Google TechTalks
Joshua Bloch's Google Tech Talk on how to design good APIs and why it matters, with concrete principles and examples. It treats every programmer as an occasional API designer.
37:15Stuart Halloway - Narcissistic Design
29K views • 9 years ago
Reaktor
Stuart Halloway's satirical talk describes how to protect yourself from industry change by spreading complexity through systems while following idiomatic practice. It uses this inversion to catalog software design anti-patterns.
44:03Google Developers Day US - Python Design Patterns
90K views • 19 years ago
GoogleDeveloperDay
Alex Martelli's Google Developers Day talk on classic design patterns (creational, structural and behavioral) and how they appear in Python. He stresses that patterns must be studied in the context of the implementing language.
1:05:59Data Oriented GUI in Rust by Raph Levien - Bay Area Rust Meetup
83K views • 8 years ago
Rust Programming Language
Raph Levien presents his new Rust GUI framework, built on data-oriented design and ideas from entity component systems, for the Xi editor. He weighs the approach against alternatives and discusses pros and cons.
1:03:14Category Theory, The essence of interface-based design - Erik Meijer
74K views • 11 years ago
FooCafe
Erik Meijer argues that category theory is the mathematicians' version of interface-based design. He shows that Java 8 lambdas and method references form a Cartesian closed category.
58:24#Gamelab2018 - Jon Blow's Design decisions on creating Jai a new language for game programmers
210K views • 8 years ago
Gamelab Conference
Jonathan Blow talks at Gamelab 2018 about the design decisions behind Jai, the programming language he is building for game programmers. He covers low-friction development, quality of life and the effects of compile times.
1:35:12Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023
71K views • 3 years ago
CppNow
Chandler Carruth's CppNow 2023 talk on modernizing compiler design for the Carbon toolchain, using data-oriented design and modern hardware assumptions. It covers lexing, parsing and compact data structures aimed at compiler performance.
1:01:40A Philosophy of Software Design | John Ousterhout | Talks at Google
547K views • 8 years ago
Talks at Google
John Ousterhout, Stanford professor and creator of Tcl, presents the ideas of his book A Philosophy of Software Design in a Talks at Google session. He covers managing complexity, deep modules and interfaces, and what he teaches in his Stanford software design course.
1:02:50The Language of the System - Rich Hickey
174K views • 13 years ago
ClojureTV
Rich Hickey's 2013 talk applies language-design thinking to whole systems, covering names, queues, data, failure, and the interfaces between programs. It ends with a call to action for building systems holistically.
Topic match · Software architecture & design
2:27:34Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025
926K views • 1 year ago
Better Software Conference
Casey Muratori's two-hour talk tracing the history of object-oriented programming back to the 1960s and examining how its ideas, and later entity component systems, came about. It is followed by a Q&A.
Topic match · Software architecture & design
38:25"The Clean Code Talks -- Inheritance, Polymorphism, & Testing"
438K views • 17 years ago
Google TechTalks
Misko Hevery's Clean Code Talk shows how to use object-oriented techniques such as polymorphism to remove repeated if and switch statements. The result is code that is easier to test, understand and maintain.
Topic match · Software architecture & design
17:48NeXT vs Sun
116K views • 14 years ago
hoffman60613
A 1991 NeXT promotional video that stages a head-to-head programming contest between a NeXT computer and a Sun workstation. It shows NeXT's interface builder and object-oriented tooling producing an application far faster than traditional UNIX development.
Topic match · Software architecture & design
7:44Handmade Hero | Getting rid of the OOP mindset
167K views • 9 years ago
vexe
A short clip of Casey Muratori from Handmade Hero explaining why he rejects the object-oriented mindset and how to move away from it. It is part rant, part programming philosophy.
Topic match · Software architecture & design
58:39Robert C Martin - Clean Architecture and Design
285K views • 12 years ago
gnbitcom
Robert C. Martin (Uncle Bob) talks about clean architecture and design, including keeping the database and frameworks out of the center of an application. It is an hour-long conference talk.
1:12:13James Gosling - Simula: a personal journey
5K views • 9 years ago
UiO Realfagsbiblioteket
James Gosling gives a personal talk at the 50th anniversary seminar of Simula about using the language from 1974 and how it shaped his thinking. He explains how Simula's object model and coroutines influenced the design of Java.
Topic match · Software architecture & design
27:36Why Western Designs Fail in Developing Countries
1.8M views • 2 years ago
Design Theory
A design essay on why products designed in Western contexts often fail when deployed in developing countries. It covers expert blindness and cultural assumptions, with examples such as malaria nets and the One Laptop Per Child project.
11:39The Ingenious Design of the Aluminum Beverage Can
19.5M views • 11 years ago
engineerguy
Bill Hammack of Engineer Guy explains the engineering behind the aluminum beverage can: why it is cylindrical, how it is manufactured, why it narrows at the top, the double seam, and how the pull tab works.
58:23Evan Czaplicki - Let's be mainstream! User focused design in Elm - Curry On
82K views • 11 years ago
Curry On!
Evan Czaplicki, creator of Elm, talks at Curry On 2015 about user-focused language design. He explains the principles behind Elm and how to make a functional, typed language as approachable as JavaScript.
33:39Music Software & Interface Design: MuseScore
959K views • 7 years ago
Tantacrul
Tantacrul gives a detailed UX and UI design review of the MuseScore 3 notation software and compares it with Sibelius. It examines visual appeal, navigation and notation quality.
27:00AT&T Archives: Saul Bass Pitch Video for Bell System Logo Redesign
417K views • 14 years ago
AT&T Tech Channel
The 1969 pitch film in which Saul Bass presents the Bell System logo redesign to AT&T, part of the largest corporate re-identity program in U.S. history.
46:33How We Made MuseScore 4 - Music App Design is Challenging!
814K views • 3 years ago
Tantacrul
Tantacrul walks through how the MuseScore 4 team was built and how design decisions were made for the overhaul of a huge legacy notation app. It covers playback and engraving quality improvements.
25:215 steps to designing the life you want | Bill Burnett | TEDxStanford
11.4M views • 9 years ago
TEDx Talks
TEDxStanford talk by Bill Burnett, executive director of Stanford's design program, on applying design thinking to your own life and career. He offers five practical tips such as getting curious, talking to people and trying things.
1:40:06KiCad 6 STM32 PCB Design Full Tutorial - Phil's Lab #65
987K views • 4 years ago
Phil’s Lab
A 100-minute tutorial from Phil's Lab on designing an STM32-based 'black pill' PCB in KiCad 6. It covers schematic capture, two-layer layout and routing, USB, and sending the board for manufacture and assembly.
18:19Why city flags may be the worst-designed thing you've never noticed | Roman Mars
5.2M views • 11 years ago
TED
Roman Mars gives a funny TED talk on vexillology, laying out five basic principles of good flag design and why many city flags fail them.
1:00:06Computer Science - Brian Kernighan on successful language design
332K views • 10 years ago
University of Nottingham
Brian Kernighan gives a talk at the University of Nottingham on how to succeed in language design without really trying. He draws on his experience with awk and other languages.
1:58:46Dynamic Languages Wizards Series - Panel on Language Design
16K views • 14 years ago
Eduardo Cavazos
A 2001 panel with Paul Graham, John Maeda, Jonathan Rees and Guy Steele on programming language design, part of the Dynamic Languages Wizards Series.
23:23Building Prototypes Dan Gelbart part 18 of 18 Design
99K views • 13 years ago
Dan Gelbart
The final part of Dan Gelbart's 18-part Building Prototypes series, focused on mechanical design. It opens with a demonstration of stiffness and covers practical design principles for prototype machines.