Bob Martin SOLID Principles of Object Oriented and Agile Design
People careerCited 3× on HN, 2017-2017
517K views · 11 years ago · talk · evergreen
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.
Cited in discussions of OO design, access modifiers and private fields, and why writing messy code slows you down.
1:13:24The Principles of Clean Architecture by Uncle Bob Martin
NorfolkDevelopers
591K views • 10 years ago
1:23:35"Uncle" Bob Martin
Program on Entrepreneurship
179K views • 11 years ago
58:39Robert C Martin - Clean Architecture and Design
gnbitcom
285K views • 12 years ago
1:48:42Clean Code - Uncle Bob / Lesson 1
UnityCoin
2.2M views • 7 years ago
28:03Object-Oriented Programming is Embarrassing: 4 Short Examples
Brian Will
2.2M views • 10 years ago
1:18:21"Uncle" Bob Martin - "The Future of Programming"
Paul Stringer's Mobile Tech
1.8M views • 10 years ago
44:35Object-Oriented Programming is Bad
Brian Will
2.6M views • 10 years ago
1:06:39Ruby Midwest 2011 - Keynote: Architecture the Lost Years by Robert Martin
Confreaks
172K views • 14 years ago
56:39Alan Kay - Programming and Scaling
Colin McDonnell
36K views • 11 years ago
2:41:18Seminar with Alan Kay on Object Oriented Programming (VPRI 0246)
Yoshiki Ohshima (大島芳樹)
31K views • 8 years ago
1:01:40A Philosophy of Software Design | John Ousterhout | Talks at Google
Talks at Google
547K views • 8 years ago
1:07:58Software Art Thou: Glenn Vanderburg - Real Software Engineering
Zendesk
35K views • 8 years ago
1:29:27The Forgotten Art of Structured Programming - Kevlin Henney [C++ on Sea 2019]
cpponsea
245K views • 7 years ago
1:32:47Data-Oriented Demo: SOA, composition
Jonathan Blow
201K views • 11 years ago
1:04:33Alan Kay at OOPSLA 1997 - The computer revolution hasnt happened yet
Jeff Gonis
127K views • 13 years ago
35:33Visualising software architecture with the C4 model - Simon Brown, Agile on the Beach 2019
Agile on the Beach
553K views • 7 years ago
1:16:55Joe Armstrong & Alan Kay - Joe Armstrong interviews Alan Kay
Erlang Solutions
76K views • 9 years ago
52:48Object-Oriented Programming is Garbage: 3800 SLOC example
Brian Will
258K views • 10 years ago
41:47Glenn Vanderburg of LivingSocial on why software development is an engineering discipline
O'Reilly
17K views • 11 years ago
22:41"Clean" Code, Horrible Performance
Molly Rocket
1.2M views • 3 years ago
3 comments from Hacker News
Do they care if a year down the road your maintenance costs increase fivefold? Have they seen the analysis which shows that initial development cost just makes a small fraction of the total cost and that fraction get smaller the longer software is in use? Do they care if a year down the road your TTM times increase tenfold? We know that the bad code slows us down. Why do we write it? Why do we write the code that slows us down? How much does it slow us down? It slows us down a lot. And every time we touch the modules we get slowed down again. Every time we touch bad code it slows us down, what do we write this stuff what slows us down? And the answer to that is: well we have to go fast. I'll let you to deal with the logical inconsistency there, my message to you today is—you don't go fast by writing crap. ▶ this video
The keywords were reserved in the latest spec for just this purpose. I don't think the rationale for their inclusion is a good one. The inclusion of such keywords in languages like C++, Java, etc was well-meaning but a mistake in retrospect. In the presence of global variables and direct assignment these keywords are the PHB approach to information hiding. They require ceremony and diligence to achieve true encapsulation. It's a murky situation at best. See Bob Martin ▶ this video and Bertrand Meyer on Eiffel: link (Bertrand Meyer coined the Open/Closed Principle and is the developer behind Eiffel). At this point though I see their inclusion in JS being almost inevitable. Just another feature to ignore. It'd be nicer if they would look to add syntax for higher-order operators like compose to the language instead of this.
> Except that languages which try to provide facilities for this principle have bolted it on in the wrong way and we as an industry have come to accept some other feature ("public/final/private" keyword languages) to mean we have, "encapsulation," in our language. Actually, there's an interesting talk from Uncle Bob saying exactly that: ▶ this video The idea is that public/private/protected is an attempt to restore some of the "perfect" encapsulation we had with C; and that we lost this encapsulation with OO langages.