HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

object-oriented programming

20-60 minutes×Play all on YouTube

Upload date

Past year2020s2010s2000s

Type

TalkLectureExplainerTutorialDocumentaryInterviewDemoCommentaryComedyMusic

Duration

Under 4 minutes4-20 minutes20-60 minutesOver 1 hour

Features

Hidden gemsEvergreen only

Sort by

RelevanceRecently recommendedUpload dateOldest firstView countLike ratioMost recommended
Object-Oriented Programming is Bad44:35

Object-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.
Object-Oriented Programming is Garbage: 3800 SLOC example52:48

Object-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.
Object-Oriented Programming is Embarrassing: 4 Short Examples28:03

Object-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.
RailsConf 2014 - All the Little Things by Sandi Metz38:47

RailsConf 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
Alan Kay - Programming and Scaling56:39

Alan 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.
RailsConf 2015 - Nothing is Something35:53

RailsConf 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
MountainWest RubyConf 2014 - But Really, You Should Learn Smalltalk28:06

MountainWest 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
Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)46:40

Andrew 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.
Pure Functional Programming in Excel • Felienne Hermans • GOTO 201643:16

Pure 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.
"Hedy: A Gradual programming language" by Felienne Hermans (Strange Loop 2022)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.
John Backus: Function Level Programming and the FL Language 198747:30

John 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.
"The Clean Code Talks  -- Inheritance, Polymorphism, & Testing"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
The Next Programming Language - Douglas Crockford - code::dive 202252:34

The 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.
Why Isn't Functional Programming the Norm? – Richard Feldman46:09

Why 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.
Bret Victor   The Future of Programming32:56

Bret 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.
"How to teach programming (and other things)?" by Felienne Hermans52: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.
Literate Programming in the Large35:59

Literate 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.
Lecture 1 | Programming Methodology (Stanford)49:47

Lecture 1 | Programming Methodology (Stanford)

2.6M views • 18 years ago
Stanford
First lecture of Stanford's CS106A Programming Methodology by Mehran Sahami, giving a course overview and starting on programming. The course teaches software engineering principles using Java.
Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '1759:03

Breaking 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.
Bottom Up vs  Top Down Design in Clojure - Mark Bastian36:42

Bottom 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.
Topic match · Software architecture & design
Keynote. Professor Steven G. Johnson | JuliaCon 201952:40

Keynote. Professor Steven G. Johnson | JuliaCon 2019

18K views • 7 years ago
The Julia Programming Language
Steven G. Johnson, MIT professor and FFTW co-author, gives a JuliaCon 2019 keynote on metaprogramming and staged programming in Julia, showing how it enables high-performance numerical code and when not to use macros.
Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich53:22

Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich

65K views • 13 years ago
Confreaks
Jim Weirich's RubyConf 2012 talk derives the Y combinator step by step, live-coding in Ruby lambdas. It builds up an understanding of functional programming and lambda calculus from first principles.
"The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023)43:58

"The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023)

141K views • 3 years ago
Strange Loop Conference
Evan Czaplicki, creator of Elm, examines how programming languages are funded. He looks at where compiler engineers' salaries come from, why Go has about 5 engineers while Dart has about 30, and how this limits language design.
Zig: A programming language designed for robustness, optimality, and clarity –  Andrew Kelley54:14

Zig: A programming language designed for robustness, optimality, and clarity –  Andrew Kelley

75K views • 8 years ago
Recurse Center
Andrew Kelley, creator of Zig, introduces the language at the Recurse Center's Localhost series in 2018. He covers its goals of robustness, optimality and clarity, C interop, cross-compilation and explicit allocators.
"Unison: a new distributed programming language" by Paul Chiusano41:06

"Unison: a new distributed programming language" by Paul Chiusano

45K views • 7 years ago
Strange Loop Conference
Paul Chiusano's Strange Loop 2019 talk introduces Unison, an open-source functional language for distributed, elastic systems. It covers content-addressed code identified by hashes of the syntax tree, a codebase manager, and algebraic effects called abilities.
Lecture 19: Dynamic Programming I: Fibonacci, Shortest Paths51:47

Lecture 19: Dynamic Programming I: Fibonacci, Shortest Paths

2.9M views • 13 years ago
MIT OpenCourseWare
Erik Demaine's MIT 6.006 lecture introducing dynamic programming through Fibonacci numbers and shortest paths. It covers memoization, subproblems and optimal substructure.
"A (Not So Gentle) Introduction To Systems Programming In ATS" by Aditya Siram36:58

"A (Not So Gentle) Introduction To Systems Programming In ATS" by Aditya Siram

26K views • 9 years ago
Strange Loop Conference
Aditya Siram introduces ATS, a statically typed ML-like language that compiles to C and offers type-safe pointer arithmetic and a full proof language. The Strange Loop talk shows off C interop, concurrency and verification features with non-trivial examples.
Stop Writing Classes27:29

Stop 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
Rails Conf 2013 The Magic Tricks of Testing by Sandi Metz32:23

Rails 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
"Clean" Code, Horrible Performance22: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
Stuart Sierra - Components Just Enough Structure41:19

Stuart Sierra - Components Just Enough Structure

36K views • 12 years ago
ClojureTV
Stuart Sierra presents the Component library for Clojure, a way to manage stateful services like database connections and thread pools without global mutable state. He draws on both functional and object-oriented principles.
Topic match · Software architecture & design
"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)43:04

"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)

468K views • 4 years ago
Strange Loop Conference
Jack Rusher's Strange Loop 2022 talk argues that most programming languages are still designed around punchcard-era assumptions. He makes the case for live, interactive programming environments, drawing on Lisp, Smalltalk and REPL-driven development.
In Search of Tomorrow56:27

In Search of Tomorrow

18K views • 10 years ago
Berkeley Institute for Data Science (BIDS)
Chris Granger, creator of Light Table and the Eve language, gives a Berkeley data science lecture on what computation and programming might look like in ten years. He covers the path that led to Eve and ends with demos.
John Carmack's keynote at Quakecon 2013 part 429:59

John Carmack's keynote at Quakecon 2013 part 4

139K views • 13 years ago
Kostiantyn Kostin
Part 4 of John Carmack's QuakeCon 2013 keynote, covering OpenGL, functional programming, Haskell, Lisp and Scheme, typing, multithreading, events and garbage collection.
On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]59:04

On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]

27K views • 7 years ago
PapersWeLove
Shriram Krishnamurthi's PWLConf 2019 talk on the formal notion of expressive power of programming languages, based on Felleisen's paper. It explains how to tell when a feature adds power by whether emulating it requires global rewriting.
Great Impractical Ideas in Computer Science: PowerPoint Programming51:32

Great Impractical Ideas in Computer Science: PowerPoint Programming

2.2M views • 7 years ago
Tom Wildenhain
Tom Wildenhain's guest lecture for CMU's Esoteric Programming Languages course shows that PowerPoint transitions and slides are Turing complete without macros, building up to a mind-bending fractal ending.
Lec 1 | MIT 6.00 Introduction to Computer Science and Programming, Fall 200853:30

Lec 1 | MIT 6.00 Introduction to Computer Science and Programming, Fall 2008

6.6M views • 17 years ago
MIT OpenCourseWare
First lecture of MIT 6.00, an introductory computer science course taught in Python by Eric Grimson and John Guttag. It covers the goals of the course, what computation is, and data types, operators and variables.
#Gamelab2018 - Jon Blow's Design decisions on creating Jai a new language for game programmers58: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.
Daniel Henry Holmes Ingalls Jr.: The Live Web. Drag 'n drop in the cloud27:21

Daniel Henry Holmes Ingalls Jr.: The Live Web. Drag 'n drop in the cloud

8K views • 13 years ago
JSConf
Smalltalk pioneer Dan Ingalls presents the Lively Kernel at JSConf US 2012, a live, direct-manipulation programming environment running in the browser. He shows drag-and-drop building of live objects on the web.
"Programming Should Eat Itself" by Nada Amin47:41

"Programming Should Eat Itself" by Nada Amin

43K views • 12 years ago
Strange Loop Conference
Nada Amin's Strange Loop talk on programming languages that build on themselves, centered on towers of interpreters and nestable interpretation in Scheme. She shows how interpreters can be stacked and collapsed.