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.
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.
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: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
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
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.
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.
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.
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: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.
28:10CANDO: A Compiled Programming Language for Computer-Aided Nanomaterial Design and Optimization
3K views • 10 years ago
European Lisp Symposium
Christian Schafmeister presents CANDO at the 2016 European Lisp Symposium. It is a compiled Lisp-based language for designing macromolecules and nanoscale materials, built on the Clasp implementation of Common Lisp.
1:04:04Overwatch Gameplay Architecture and Netcode
196K views • 7 years ago
GDC Festival of Gaming
Blizzard's Timothy Ford explains in this 2017 GDC session how Overwatch uses an Entity Component System architecture for layered gameplay. He also covers its server-authoritative netcode with client-side prediction and how they keep the game responsive and fair.
Topic match · Software architecture & design
27:29Stop Writing Classes
962K views • 14 years ago
Next Day Video
Jack Diederich's PyCon 2012 talk argues that classes are overused in Python and walks through real code, refactoring away unnecessary classes, exceptions and modules. It popularized the heuristic that a class with two methods, one being __init__, should be a function.
Topic match · Software architecture & design
32:23Rails Conf 2013 The Magic Tricks of Testing by Sandi Metz
144K views • 13 years ago
Confreaks
Sandi Metz's RailsConf 2013 talk offers practical guidelines for deciding what to test and how, so tests stay cheap and stable. She argues for testing the public interface rather than implementation and using mocks appropriately.
Topic match · Software architecture & design
1:05:59Modern C and What We Can Learn From It - Luca Sas [ ACCU 2021 ]
130K views • 5 years ago
ACCU Conference
Luca Sas's ACCU 2021 talk on Modern C, a style of C and C-like C++ aligned with data-oriented design. It covers centralized memory management, zero-is-initialization, error handling and API design.
Topic match · Software architecture & design
1:00:46"Design in Practice" by Rich Hickey
65K views • 3 years ago
ClojureTV
Rich Hickey's Clojure Conj 2023 talk on design in practice, covering problem statements, decision matrices, choosing precise words and making decisions in a team.
45:42Scala Collections: Why Not?
43K views • 12 years ago
InfoQ
Paul Phillips, a Typesafe co-founder and prolific Scala committer, explains why he walked away from Scala. He critiques the Scala collections library and presents his own design focused on immutability, performance and correctness.
Topic match · Software architecture & design
1:00:16Clasp: Common Lisp using LLVM and C++ for Designing Molecules
9K views • 11 years ago
Google TechTalks
Christian Schafmeister's Google Tech Talk on Clasp and CANDO, a Common Lisp implementation on LLVM and C++ used to design molecules, including energy minimization and force-field calculations.
39:49Hammock Driven Development - Rich Hickey
333K views • 13 years ago
ClojureTV
Rich Hickey's philosophical talk from the first Clojure Conj in 2010. He argues that good design comes from deliberate, away-from-keyboard thinking, and describes how to feed the background mind so it solves problems.
Topic match · Software architecture & design
1:14:52Effective Programs - 10 Years of Clojure - Rich Hickey
176K views • 9 years ago
ClojureTV
Rich Hickey's talk at Clojure's tenth anniversary on the kind of programs Clojure is designed for. He argues for situated programs that deal with changing requirements, and for dynamic typing and data over static types.
Topic match · Software architecture & design
1:01:39"Simple Made Easy" - Rich Hickey (2011)
434K views • 5 years ago
ClojureTV
Rich Hickey's Strange Loop 2011 keynote separates 'simple' (not intertwined) from 'easy' (familiar or near at hand) and argues that software complexity comes from complecting things. It offers a vocabulary for judging designs and abstractions.
Topic match · Software architecture & design
4:57Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made Simple
43K views • 6 years ago
Fred Overflow
A five-minute excerpt of Rich Hickey's Clojure Made Simple talk, with new slides, ranting about HttpServletRequest and specificity. He argues for using generic maps instead of many specific classes and getters.
Topic match · Software architecture & design
50:01Simplicity Ain't Easy - Stuart Halloway
24K views • 13 years ago
ClojureTV
Stuart Halloway argues that simplicity is objective, with a definition and etymology useful to programmers, rather than a subjective buzzword. He shows how this view informs Clojure's design and how to make programs simpler.
Topic match · Software architecture & design
51:40Constraints Liberate, Liberties Constrain — Runar Bjarnason
44K views • 10 years ago
Scala World
Runar Bjarnason's Scala World talk argues that restraint and precision in components beat power and flexibility. Constraints on parts make them easier to compose into systems.
Topic match · Software architecture & design