Best Software architecture & design Videos
「Software architecture & design」下面有177部被不同的人、在不同月份推荐过的视频。挑的时候先看对象:入门8部,适合还没学过的人;进阶132部,适合已经懂术语的人;普通向20部,按兴趣就能看;更硬的17部,留给想看推导或细节的人。这一类数量最多的是演讲,所以它们的共同点是一位讲者把一个判断讲完,例子是为了撑住这个判断。常出现的频道包括ClojureTV、Confreaks、Strange Loop Conference。目录给这个主题划的范围是:Software architecture and design: object-oriented programming, design patterns, clean architecture, API design, microservices vs monoliths, data-oriented design, versioning, abstraction, simplicity, Alan Kay, Uncle Bob.如果只看三部,就从《RailsConf 2014 - All the Little Things by Sandi Metz》开始,它负责把问题讲出画面;然后看《"Simple Made Easy" - Rich Hickey (2011)》,换一种讲法或例子;最后看《"Making Impossible States Impossible" by Richard Feldman》,留给已经有基础的人。页面按每页24部切开,顺序看的是被推荐跨越了多少个月,不是播放量。每条标题下面那一句是这部片子自己的内容说明,用来区分它在讲定义、过程、演示还是观点。点进去能看到推荐原话、原文链接和适合谁看。看的时候把强烈推荐当成有人明确叫你去看,把引用当成只是拿来举例,把批评留下来对照,不要把每条评论都当成同一力度。

TigerStyle! (Or How To Design Safer Systems in Less Time) by Joran Dirk Greef
Joran Dirk Greef's Systems Distributed '23 talk on TigerStyle, the engineering methodology behind TigerBeetle.

Pete Hunt: React - Rethinking Best Practices (updated) - JSConf.Asia 2013
Pete Hunt of Facebook and Instagram presents React at JSConf.Asia 2013, explaining its design principles and why they seemed shocking at first.

Interactive notebooks ~ Pluto.jl | Fons van der Plas | JuliaCon 2020
Fons van der Plas introduces Pluto.jl, a reactive notebook for Julia that tracks references between cells and re-runs affected cells when code changes.

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

Simplicity Ain't Easy - Stuart Halloway
Stuart Halloway argues that simplicity is objective, with a definition and etymology useful to programmers, rather than a subjective buzzword.

Clojure Concurrency - Rich Hickey
Rich Hickey's long presentation on Clojure and concurrency covers locking and immutability, then goes in depth on refs, transactions and agents.

Founder School Session: The Future Doesn't Have to Be Incremental
Alan Kay speaks at the DEMO Founder School session on why real progress takes invention rather than incremental innovation.

Alan Kay at OOPSLA 1997 - The computer revolution hasnt happened yet
Alan Kay's 1997 OOPSLA keynote, preserved on YouTube after being lost from Google Video.

Leslie Lamport: Thinking Above the Code
Leslie Lamport argues that programmers, like architects, should write rigorous specifications before coding, especially for concurrent and distributed systems.

Christopher Alexander - Patterns in Architecture
Christopher Alexander's keynote at OOPSLA 1996 on patterns in architecture, addressed to the software community.

Constraints Liberate, Liberties Constrain — Runar Bjarnason
Runar Bjarnason's Scala World talk argues that restraint and precision in components beat power and flexibility.

Are We There Yet - Rich Hickey
Rich Hickey's talk on time, state, identity and values, arguing that mutable object-oriented modeling fits the world poorly.

Rails Conf 2013 The Magic Tricks of Testing by Sandi Metz
Sandi Metz's RailsConf 2013 talk offers practical guidelines for deciding what to test and how, so tests stay cheap and stable.

Alan Kay - Programming and Scaling
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.

Cheng Lou - On the Spectrum of Abstraction at react-europe 2016
Cheng Lou's react-europe 2016 talk lays out a mental framework for thinking about abstraction levels in JavaScript tooling, from Angular and Grunt to Webpack and React.

Hacker Way: Rethinking Web App Development at Facebook
Facebook engineers explain why they abandoned the traditional MVC paradigm for a more functional architecture, introducing Flux and React.

Building a Better Web Browser - James Mickens - Harvard CS Colloquium 2015
James Mickens's 2015 Harvard colloquium argues that browsers are bloated and insecure because feature races trump clean interface design.

Raymond Hettinger, Keynote on Concurrency, PyBay 2017
Raymond Hettinger's PyBay 2017 keynote on concurrency in Python.

"Finding bugs without running or even looking at code" by Jay Parlar
Jay Parlar's Strange Loop talk shows how model checkers such as Alloy can find complex bugs in a system's design without running or reading any code.

Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)
Andrew Kelley, creator of Zig, presents practical data-oriented design techniques for shrinking memory footprint and making programs cache friendly.

Greg Young - CQRS and Event Sourcing - Code on the Beach 2014
Greg Young's Code on the Beach 2014 talk on CQRS and event sourcing.

Stuart Halloway - Narcissistic Design
Stuart Halloway's satirical talk describes how to protect yourself from industry change by spreading complexity through systems while following idiomatic practice.

Elm Europe 2017 - Evan Czaplicki - The life of a file
Elm creator Evan Czaplicki's talk on how a file grows and when to split code up.

Immediate-Mode Graphical User Interfaces - 2005
Casey Muratori's 2005 video introducing immediate-mode GUIs as an alternative to retained widget toolkits.