data-oriented programming
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.
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.
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.
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: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: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.
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.
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.
4:58Most Popular Programming Languages 1965 - 2019
7.2M views • 7 years ago
Data Is Beautiful
An animated ranking of the most popular programming languages from 1965 to 2019, built from popularity indexes, GitHub access data and historical surveys.
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: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: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.
1:19:57Simon Peyton Jones: Data Parallel Haskell
28K views • 16 years ago
nuACM
Simon Peyton Jones explains nested data parallelism and Data Parallel Haskell, an approach to exploiting multicore and distributed hardware while keeping a simple single-control-flow programming model.
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: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
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.
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.
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: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: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.
42:31"Datafun: a functional query language" by Michael Arntzenius
9K views • 9 years ago
Strange Loop Conference
Michael Arntzenius's Strange Loop talk on Datafun, a functional query language that brings database-style querying into a general-purpose language. It discusses bridging database theory and programming languages.
25:06"Making Impossible States Impossible" by Richard Feldman
63K views • 10 years ago
elm-conf
Richard Feldman's elm-conf talk on designing models so that bugs from impossible application states cannot occur, using Elm's compiler and types. It demonstrates techniques for making invalid states unrepresentable.
Topic match · Software architecture & design
1:02:26Solving Problems the Clojure Way - Rafal Dittwald
87K views • 7 years ago
Clojure/north
Rafal Dittwald's Clojure/north talk shows how to move from writing Java-style code in Clojure to thinking in data-driven, functional terms. He walks through a JavaScript example, refactoring imperative code step by step into a functional core.
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
54:58Keynote - JSON Graph: Reactive REST at Netflix
41K views • 11 years ago
Association for Computing Machinery (ACM)
Jafar Husain's ACM keynote presents Netflix's JSON Graph and Falcor, which let web developers treat all cloud data as one virtual JSON model. It combines reactive programming with REST principles.
Topic match · Software architecture & design
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.
17:48NeXT vs Sun
116K views • 14 years ago
hoffman60613
A 1991 NeXT promotional video that stages a head-to-head programming contest between a NeXT computer and a Sun workstation. It shows NeXT's interface builder and object-oriented tooling producing an application far faster than traditional UNIX development.
Topic match · Software architecture & design
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.
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.
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.
31:11React.js Conf 2015 - Immutable Data and React
159K views • 11 years ago
Meta Developers
Lee Byron of Facebook explains how persistent immutable data structures work and how to use them in React apps with Immutable.js. He covers memoization benefits and avoiding coupling through shared mutable state.
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.
14:48Sonification & The Problem with Making Music from Data
259K views • 9 years ago
Tantacrul
Tantacrul examines sonification, the practice of turning data into sound or music, and critiques how scientists and musicians, including NASA and CERN projects, use it well and poorly.
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.
52:54Rust at speed — building a fast concurrent database
225K views • 7 years ago
Jon Gjengset
A guest lecture Jon Gjengset gave at Two Sigma on using Rust for large, high-performance systems. It covers why Rust suits such projects, the Noria research database, a concurrent data structure used in it, and practical experience.
1:26:11Succinct Data Structures
9K views • 12 years ago
Edward Kmett
Edward Kmett's 2013 talk at Prezi in Budapest on succinct data structures, which store data in close to the information-theoretic minimum space while supporting fast queries. It ties together the research and walks through his Haskell succinct library.
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.
56:49Escape from the Heap: Low-Level Programming in Common Lisp
17K views • 10 years ago
Arthur Gleckler
Ahmon Dancy of Franz Inc explains low-level programming in Common Lisp, including off-heap data structures used in AllegroGraph to manage memory outside the garbage collector.
22:58All of our data is GONE!
9.4M views • 10 years ago
Linus Tech Tips
Linus Tech Tips documents a major RAID failure on its Whonnock server and the attempt to recover the lost data with a data recovery firm.
28:31Velocity 2010: James Hamilton, "Datacenter Infrastructure Innovation"
9K views • 16 years ago
O'Reilly
James Hamilton of AWS gives a Velocity 2010 keynote on datacenter infrastructure innovation, focused on power and cooling costs and a breakdown of where datacenter spending goes.