data-oriented design
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.
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.
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.
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.
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:06:24Rich Hickey: Deconstructing the Database
106K views • 14 years ago
InfoQ
Rich Hickey, creator of Clojure and designer of Datomic, gives a JaxConf 2012 talk that takes apart traditional database architecture. He presents a different way to think about databases and explains the reasoning behind Datomic's fact-based 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: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: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
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:54:11James Powell: So you want to be a Python expert? | PyData Seattle 2017
508K views • 9 years ago
PyData
James Powell's nearly two-hour PyData talk builds up Python's data model, decorators, generators and context managers, coding live in Vim. It aims to take intermediate programmers toward real Python expertise.
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.
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
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.
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
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.
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: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
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: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.
27:10IRDC US 2015 - Brian Bucklew, Data-Driven Engines of Qud and Sproggiwood
39K views • 11 years ago
Logo “ND” Surströmming
Brian Bucklew of Freehold Games discusses design decisions behind Caves of Qud and Sproggiwood at IRDC 2015. The talk centers on data-driven, event-driven engine design.
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: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
22:41"Clean" Code, Horrible Performance
1.2M views • 3 years ago
Molly Rocket
Casey Muratori shows how typical 'clean code' object-oriented patterns can cost large factors in performance. He benchmarks them against simpler data-oriented code.
Topic match · Software architecture & design
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.
1:06:4401 - Course Introduction & Relational Model (CMU Databases Systems / Fall 2019)
248K views • 7 years ago
CMU Database Group
The first lecture of Andy Pavlo's CMU 15-445 Intro to Database Systems (Fall 2019), covering course introduction and the relational model.
59:56AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401)
468K views • 7 years ago
Amazon Web Services
Rick Houlihan's AWS re:Invent 2018 deep dive on advanced DynamoDB design patterns. It covers index overloading, GSI sharding, composite keys, graph processing and transactions.
45:08Raymond Hettinger - Dataclasses: The code generator to end all code generators - PyCon 2018
130K views • 8 years ago
PyCon 2018
Raymond Hettinger explains Python's dataclasses module, showing the problem it solves and its key design decisions. He places it in a progression from tuples and dicts through named tuples and attrs.
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
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.
1:06:00CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”
31K views • 9 years ago
CppCon
Juan Pedro Bolivar Puente explains immutable and persistent data structures in C++ and how they support value semantics. He presents the Immer library, rrb-trees, and a prototype text editor that opens a huge file instantly.
4:51VisiData Lightning Demo at PyCascades 2018
41K views • 8 years ago
Saul Pwanson
A five-minute lightning demo of VisiData, a terminal tool for exploring and manipulating data. It uses two months of NYC 311 complaint data to drill down, plot points on a virtual map and save selected rows.
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.
55:53Michael Stonebraker | Big Data is (at least) Four Different Problems
30K views • 10 years ago
Michigan Engineering
Database pioneer Michael Stonebraker argues that 'big data' is really at least four different problems: big volumes with small analytics, big analytics, velocity, and variety. He comments on where each market is heading.
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.
52:52Google Developers Day US - Theorizing from Data
27K views • 19 years ago
GoogleDeveloperDay
Peter Norvig's 2007 Google talk on theorizing from data, covering what huge datasets can do for language understanding, translation, information extraction and inference. It argues that more data often beats cleverer models.
1:02:57Peter Norvig - The Unreasonable Effectiveness of Data
74K views • 15 years ago
UBC Computer Science
Peter Norvig's UBC distinguished lecture on how massive amounts of simple data, such as for language modeling, can yield understanding that hand-built models could not.