I'm happy that in this video we get to see the screen all the time while Bob is talking about it, as opposed to the previous videos
I appreciate the semi-transparent overlay slides, kudos to the editor. So much better than the first part where we barely ever got to see the slides!
I've watched 4 of these today... I'll come back another day.
Been struggling with my code architecture for a while. It starts out alright and I keep thinking "separate everything, make it modular". Down the line I realize that all these "modules" have been linked together all over the place and it's just a mess, they all depend on each other. This talk made me realize what I've been doing wrong. What I've been doing is like putting a brain in every limb to make it think for itself, but then it also has to communicate and coordinate with every other limb. This is off-course not how the body works.. The hand does not feel heat and then think "what should I do about this?", it sends that information to the brain and gets told which move to make. The brain never asks for information, it gets told. It's obvious, I know, but up until now I had not thought about it this way and it drastically changes how I think about my code structure.
I'm a mathematician on the verge of changing my profession to programming, and this lecture series is the best content about the practice of coding I havw ever seen. By a landslide. This Uncle Bob guy is amazing!
It seems that even the best of us have a hard time predictinng the future, as is evident by the statement about 8-core processors in Laptops. It is now July 2020 and both, the red team and the blue team, offer 8-core chips for Notebooks. On a sidenote Moore's law was never about clock speed, but about complexity of integrated circuits. If it were about clock speed it would have died together with the Pentium 4.
1:53:25 "A good architecture allows you to defer critical decisions as long as possible"
Thank you Uncle Bob for being an Uncle Bob to all the programming community.
Gold ♥ The first time I saw a computer, i didn't sleep that night thinking how i could make one with sticks & lights lol, cause it wasn't mine. I was 10 ~30 years ago. and pure pleasure everyday since.
(1:47:48, 2:03:44, 2:09:00) most of these topics are also viable as arguments against blind usage of frameworks, which clients usually target as a requirement to have some control over the maintainability, though sometimes the framework itself has gotten in the way of that or simply bloats the whole solution. The load of dependencies and their dependencies - cascading.
0:00 Opening. 3:25 Dick Vlot about Architecture and Agile Software Development. 9:30 Presentation of Uncle Bob. 11:19 Diffraction: Why do incandescent lights glow? 15:27 Architecture Introduction / I've built lots of apps / "I want to be a programmer" anecdote. 26:09 The Architecture rules are independent of every other variable. 29:21 Working vs. Right. 30:45 What is Design in Architecture? 31:50 What is the goal of Software Architecture? 33:28 Case study of bad Architecture. 38:55 Executive View / What went wrong / Secret to going fast. 44:43 Messes aren't faster even in the short term. 48:15 Solution of the Executive's Dilema / Two Values of Sofware. 52:41 Behavior / Are we going to see self driving cars? 1:00:14 Scope vs. Shape / Stakeholders want changes. 1:10:33 Urgency and Importance / Eisenhower Matrix. 1:13:09 Fight for the Architecture. 1:15:14 A Rails App / The web is a Ddelivery Mechanism. 1:19:06 Architecture Floor Plans / A Use Case Driven Approach. 1:24:05 Interactors / Entities / Interfaces Objects. 1:27:11 Request Model. 1:30:21 What about MCV? / Design Patterns / How MCV goes wrong as a web Architecture. 1:34:53 Model View Presenter / Dependency Rule. 1:39:10 What about the Database? / The Database is a detail / ORM 1:48:00 Fitnesse: a wiki page porject development. 1:53:54 A good Architecture allows major decisions to be defered! / About IntelliJ and Visual Studio. 2:03:44 Frameworks / Plugin Model.
I wish I had seen this 2 years ago. The first 3 lessons described my team (including myself), and now the project has been deprecated because it is a disaster! I am no manager and no lead, but by explaining this to my previous teammates at that time, we could have avoided to reach to the point of no return.
I love the sequence about computational power. One of the first 8 core Ryzen laptops landed in 2020. He’s right about the rate and the density issue, but I doubt anyone ever expected AMD to start making processors with electrons running in both directions in a single lane. Love Bob’s work.
Charismatic as always. Although I do not agree with everything and the rest might be seen as an obvious true (at least for people with 20+ years exp. and a heart for constant learn to improve), I would like to you Robert for all you efforts to make our work more reasonable and to show that we technical people are not completely mad and out of this (business) world :) This was a portion of energy to work even harder.
I can listen to this for days ... great videos
Q at 57:32, ChatGPT 4: “One American city that fits this description is Chicago, Illinois. The two airports are Chicago Midway International Airport, named after the Battle of Midway, and Chicago O'Hare International Airport, named after Edward O'Hare, a World War II flying ace.”
Regarding Microservices. I have been developing one of the biggest information system in Poland with use of BEA(Oracle) Tuxedo (that was a direct precursor of WebLogic and Java EE standard). It was similar to nowadays Microservices in terms of the general programmatic approach, design of the API, how the front-end and back-end interacts, how we divides our services into groups enclosing them in separated modules/programs, how we define routing and redirecting beetwen them and there was also a famous Actor-model (Scala claimed to invent it in Play!) at the backend side used as a default by Tuxedo (IPC-keys, or memory inter-mapping between the backend processes). It was 22 years ago and Tuxedo is even older. And there was RPC, CGI/FastCGI even before (if I remember correctly).
~1:55:15 "Good architecture maximises the number of implementation [DETAILS] not made" - A critical thought is to reflect on what is 'detail' from the [usage] architecture view point, rather than the coding viewpoint.
It's been more then 5 years since clock speeds have stagnated. I have seen 3-4 Ghz machines back in 2006 but they were very expensive. The absolute limit of the motherboards since 2006 is 5 Ghz. I know I was designing hardware since 2005. But 5 Ghz is not sustainable because of heat generation and cross-talk, it becomes cost prohibitive even at 4 Ghz because the company looses profits. The cross talk at 5Ghz becomes so high that the error correction actually slows down the Chip compared to slower speeds. We have verified this with FEA and we built test boards to measure actual performance. And the CST Microwave Studio a $30,000 simulation software predicted everything exactly as we measured it on the test boards. We have known this since 2006 what he is talking about.
@kanaillaurent526