HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

object-oriented design

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 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.
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.
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.
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.
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.
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
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
Stuart Halloway - Narcissistic Design37:15

Stuart 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.
Google Developers Day US - Python Design Patterns44:03

Google 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.
#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.
"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
Robert C Martin - Clean Architecture and Design58:39

Robert 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.
Why Western Designs Fail in Developing Countries27:36

Why 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.
Evan Czaplicki - Let's be mainstream! User focused design in Elm - Curry On58:23

Evan 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.
Music Software & Interface Design: MuseScore33:39

Music 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.
AT&T Archives: Saul Bass Pitch Video for Bell System Logo Redesign27:00

AT&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.
How We Made MuseScore 4 - Music App Design is Challenging!46:33

How 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.
5 steps to designing the life you want  | Bill Burnett | TEDxStanford25:21

5 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.
Building Prototypes Dan Gelbart  part 18 of 18  Design23:23

Building 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.
CANDO: A Compiled Programming Language for Computer-Aided Nanomaterial Design and Optimization28:10

CANDO: 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.
Pricing Design Work & Creativity (The Guide)36:30

Pricing Design Work & Creativity (The Guide)

4.6M views • 10 years ago
The Futur
The Futur's guide to pricing design and creative work, arguing against hourly rates and for value-based pricing. It features Blair Enns and says to price the client, not the job.
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
Scala Collections: Why Not?45:42

Scala 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
The Best-Designed Town in the Netherlands (and therefore, the world)25:05

The Best-Designed Town in the Netherlands (and therefore, the world)

1.2M views • 1 year ago
Not Just Bikes
Not Just Bikes tours Houten, a Dutch town designed around cycling, explaining how its layout makes most trips by bike safe and easy. It also promotes a book about the town.
Hammock Driven Development - Rich Hickey39:49

Hammock 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
Simplicity Ain't Easy - Stuart Halloway50:01

Simplicity 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
Constraints Liberate, Liberties Constrain — Runar Bjarnason51:40

Constraints 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
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.
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
Sebastian Markbage: Minimal API Surface Area | JSConf EU 201424:28

Sebastian Markbage: Minimal API Surface Area | JSConf EU 2014

71K views • 12 years ago
JSConf
Sebastian Markbage explains how React is moving toward a minimal API surface by leaning on language features and patterns instead of dedicated framework APIs. He also touches on JSX and syntax proposals for future JavaScript.
Topic match · Software architecture & design
CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”59:34

CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”

137K views • 9 years ago
CppCon
Matt Kulukundis explains how Google designed SwissTable, a fast, cache-friendly hash table, step by step from std::unordered_map. The talk covers open addressing, SIMD probing and the tradeoffs of changing a fundamental data structure.
AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401)59:56

AWS 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.
Safe Cycling Showdown - Good vs. Bad City Design - Plus 1 Minus 223:01

Safe Cycling Showdown - Good vs. Bad City Design - Plus 1 Minus 2

1.1M views • 5 years ago
Not Just Bikes
Not Just Bikes compares the same cycling trip to a hardware store in Calgary and in Amsterdam, using a 'plus 1 minus 2' format. It shows how street design shapes how safe and practical cycling is.
GopherCon 2016: The Design of the Go Assembler - Rob Pike23:57

GopherCon 2016: The Design of the Go Assembler - Rob Pike

116K views • 10 years ago
Gopher Academy
Rob Pike's GopherCon 2016 talk on the design of the Go assembler, explaining why Go uses a common assembly language translated to each architecture.
Design Your Own Keyboard!41:04

Design Your Own Keyboard!

140K views • 4 years ago
Ben Vallack
Ben Vallack walks through designing a custom keyboard PCB from scratch using Ergogen and KiCad, ending with a gerber file ready to order from a PCB fabricator. The example is a split keyboard.
CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”55:42

CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”

77K views • 7 years ago
CppCon
Matt Godbolt builds a toy path tracer in C++ in three different styles and compares them on clarity, testability, compile time and run-time performance. The talk was given at CppCon 2019.
Chest Freezers; What they tell us about designing for X26:54

Chest Freezers; What they tell us about designing for X

2.9M views • 6 years ago
Technology Connections
Technology Connections explains how refrigerator and freezer design affects energy use, using chest freezers to show why top-opening designs and layout choices matter. It includes thermal-camera footage of cold air spilling out of upright units.
Greg Young — A Decade of DDD, CQRS, Event Sourcing48:04

Greg Young — A Decade of DDD, CQRS, Event Sourcing

190K views • 10 years ago
Domain-Driven Design Europe
Greg Young, who coined CQRS, looks back on a decade of domain-driven design, CQRS and event sourcing at DDD Europe 2016. He discusses where event sourcing applies and how simple its core can be.
Topic match · Software architecture & design