object-oriented programming
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.
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.
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.
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.
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.
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
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
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
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
56:39Alan Kay - Programming and Scaling
36K views • 11 years ago
Colin McDonnell
An Alan Kay talk on programming and scaling, covering theoretical limits of code size, engineering versus tinkering, and biological cells as inspiration for object-oriented 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:29:27The Forgotten Art of Structured Programming - Kevlin Henney [C++ on Sea 2019]
245K views • 7 years ago
cpponsea
Kevlin Henney revisits structured programming, from Go To Statement Considered Harmful to block-structured code and object orientation. He argues it still matters for how we write code today.
1:18:21"Uncle" Bob Martin - "The Future of Programming"
1.8M views • 10 years ago
Paul Stringer's Mobile Tech
Robert C. Martin (Uncle Bob) traces the history of software from 1948 to today, looking at the problems programmers faced, how they were solved, and what mistakes the profession made. He then projects where the field is going, including professionalism and regulation.
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:06MountainWest RubyConf 2014 - But Really, You Should Learn Smalltalk
27K views • 12 years ago
Confreaks
Noel Rappin's MountainWest RubyConf talk introduces Smalltalk to Ruby programmers. He compares the two languages' object models, blocks, 1-based arrays, simple syntax and live programming environment, and walks through sample code.
Topic match · Software architecture & design
1:02:27Procedural Programming: It Never Went Away — Kevlin Henney | Build Stuff
28K views • 8 years ago
Build Stuff - #1 Software Dev Conf
Kevlin Henney argues that procedural programming never went away despite later paradigms such as OO and functional. He traces the history of structured programming and shows where procedural thinking still lives in modern code and why it matters for readability.
1:01:33A Possible Future of Software Development
82K views • 18 years ago
Google TechTalks
Sean Parent of Adobe argues that object-oriented frameworks ultimately fail to deliver scalable, high quality software and proposes combining generic and declarative programming instead. It draws on Stepanov's Elements of Programming.
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: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
1:16:55Joe Armstrong & Alan Kay - Joe Armstrong interviews Alan Kay
76K views • 9 years ago
Erlang Solutions
Joe Armstrong, creator of Erlang, interviews Alan Kay at Code Mesh. They discuss the meaning of object orientation, message passing, the META II paper, and the state of computer science.
Topic match · Software architecture & design
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:06:44Programming is terrible—Lessons learned from a life wasted. EMF2012
1.7M views • 13 years ago
tef ebooks
Tef's EMF 2012 talk on lessons from a career in programming, a candid and humorous look at why programming is so often terrible. Slides and a draft script are available online.
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.
1:04:29The Computer Revolution Hasn't Happened Yet OOPSLA 97 Keynote (VPRI 0719)
9K views • 6 years ago
Yoshiki Ohshima (大島芳樹)
Alan Kay's 1997 OOPSLA keynote argues that the computer revolution has not really happened yet, reflecting on how computing, objects and the web fall short of their potential.
Topic match · Software architecture & design
43:16Pure Functional Programming in Excel • Felienne Hermans • GOTO 2016
26K views • 10 years ago
GOTO Conferences
Felienne Hermans argues that Excel is the world's most popular programming language and shows how spreadsheets work as a pure functional language. She implements a few mathematical problems in spreadsheet formulas to illustrate why they are so powerful and approachable.
40:57"Hedy: A Gradual programming language" by Felienne Hermans (Strange Loop 2022)
17K views • 4 years ago
Strange Loop Conference
Felienne Hermans presents Hedy, a gradual programming language for teaching kids that moves through levels from almost no syntax toward full Python. The talk covers why error messages and syntax are scary for beginners.
1:02:49Reboot Develop 2017 - Jonathan Blow, Thekla Inc. / Making Game Programming Less Terrible
112K views • 9 years ago
Reboot Develop
Jonathan Blow's Reboot Develop 2017 talk on making game programming less terrible, discussing software bloat, slowness and the design goals behind his own programming language.
1:08Winning at programming competitions is a negative factor for being good on the job
67K views • 11 years ago
pkrumins
A one-minute clip of Peter Norvig saying that Google found programming contest success correlates negatively or poorly with job performance. The description links to a blog post discussing it.
47:30John Backus: Function Level Programming and the FL Language 1987
3K views • 9 years ago
Arthur Vard
A 1987 talk in which John Backus, creator of Fortran, presents function-level programming and the FL language, a successor to his FP work. It is an archival recording with links to the related paper.
1:10:05Are We There Yet - Rich Hickey
24K views • 7 years ago
Zhang Jian
Rich Hickey's talk on time, state, identity and values, arguing that mutable object-oriented modeling fits the world poorly. It lays out the thinking behind Clojure's approach to data and change.
Topic match · Software architecture & design
1:10:32Rethinking CS Education | Alan Kay, CrossRoads 2015
28K views • 10 years ago
Infosys Foundation USA
Alan Kay argues for rethinking how computer science is taught in schools, drawing on his work on object-oriented programming and GUIs. He discusses how poorly people understand complex systems and what education could do about it.
Topic match · Software architecture & design
52:34The Next Programming Language - Douglas Crockford - code::dive 2022
55K views • 3 years ago
code::dive conference
Douglas Crockford's code::dive 2022 talk on what the next programming language should look like. He presents ideas behind his Misty language, including message-passing actors.
46:09Why Isn't Functional Programming the Norm? – Richard Feldman
1.6M views • 7 years ago
Metosin
Richard Feldman argues that functional programming is not the norm largely because of historical accidents, such as C++ popularity, platform exclusivity, marketing spend and network effects, rather than merit. He traces the history of how languages become mainstream.
32:56Bret Victor The Future of Programming
305K views • 13 years ago
Joey Reid
Bret Victor's DBX 2013 talk, delivered in the guise of a 1973 IBM engineer with an overhead projector. It surveys forgotten ideas from 1960s and early 70s computing and warns against assuming you know what you're doing.
52:09"How to teach programming (and other things)?" by Felienne Hermans
34K views • 7 years ago
Strange Loop Conference
Felienne Hermans's Strange Loop keynote on the history and pedagogy of teaching programming. She questions exploration-only approaches like Logo and discusses research supporting explicit instruction and rote practice.
1:02:36The Pervert's Guide to Computer Programming Languages - SXSW
28K views • 9 years ago
Vulk Coop
A SXSW talk by W Watson that uses Lacanian psychoanalysis, with nods to Zizek, to critique popular programming languages. It argues that people choose and defend languages for emotional and ideological reasons rather than rational ones.
35:59Literate Programming in the Large
18K views • 13 years ago
Next Day Video
Timothy Daly, an original author of the Axiom computer algebra system, talks about turning a large Common Lisp codebase into a literate program. He argues code should be written as readable manuals, and the talk was given at Write the Docs 2013.
17:26Lecture 1 | Programming Paradigms (Stanford)
1.2M views • 18 years ago
Stanford
The first lecture of Stanford's CS107 Programming Paradigms, taught by Jerry Cain, giving an overview of the course. The course goes from C and assembly through C++, concurrency, Scheme and Python.
59:03Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '17
7K views • 9 years ago
Dyalog User Meetings
Aaron Hsu explains why programmers often find APL harder to learn than people with no programming background. He identifies eight patterns that contrast traditional software engineering practice with APL practice, starting from Ken Iverson's language design principles.
1:10:42Elements of Programming Style - Brian Kernighan
138K views • 9 years ago
Institute for Advanced Study
Brian Kernighan's 2009 talk at Princeton on the Elements of Programming Style, discussing readable code, avoiding cleverness and flawed examples in programming tutorials.