Clean Code - Uncle Bob / Lesson 5

  Рет қаралды 276,419

UnityCoin

UnityCoin

Күн бұрын

Пікірлер: 259
VioletGiraffe
VioletGiraffe Жыл бұрын
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!
Rattja
Rattja Жыл бұрын
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.
{return -1;}
{return -1;} 2 жыл бұрын
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!
adam
adam 10 ай бұрын
@T. Neulaender I've found your book recommendation order very useful thanks for sharing.
{return -1;}
{return -1;} 2 жыл бұрын
@marioepsilon that's a very good point. Unfortunately it is, for some reason, extremely difficult to find work as a mathematician where I live. Hence the career change. :/
marioepsilon
marioepsilon 2 жыл бұрын
Been there many years ago. The best programmers I have worked with came from Mathematics background, you are more likely than others to succeed. However, if you are making a living out of being a Mathematician, my recommendation would be to stick to it, it is a much more satisfying, care free job, software world is like Wild West; on the other hand, so many more programmers are being produced each year that in a few years the job market will not be as good as it is now, but there is always going to be way fewer Mathematicians.
T. Neulaender
T. Neulaender 2 жыл бұрын
You should read the whole "Clean" series. It's best in this order: 1. Clean Code 2. Clean Coder 3. Clean Architecture 4. Clean Agile After your first huge project do it again and you will get even more out of it. Besides uncle bobs books I can advice for Pragmatic Programmer.
Kanail Laurent
Kanail Laurent 2 жыл бұрын
This whole series is gold
Pavol Filek
Pavol Filek Жыл бұрын
@EvenStar LoveAnanda Stupid is statement, that we can not make car, within few years, that will be better than people in driving, in some situations, where it is difficult. It is not about SW, it is about very excellent discription of reality, not necessary at levels like quarks, protons, molecules .... We only need better comunication between cars, trains, peoples, bikers etc. We need only better sensors, only maybe 10 times than our eyes, ears, etc. Simulation of human brain is only month ahead behind the horison, we need only energy and o lot of Tachyum like CPUs, with CPUs, GPUs and TPUs inside.
mulatto401
mulatto401 2 жыл бұрын
@anjelgiofu correct. He does say stupid things but most of the advice is spot on. Folks in the comments are too inexperienced or dumb to know the difference.
Kuzon Katekar
Kuzon Katekar 2 жыл бұрын
Well, TBH his opinion on self driving cars are likely to be proven false soon... And Moore's law wasn't dead when this talk happened... It's nearly dead now but still not fully dead.
Roger Barraud
Roger Barraud 2 жыл бұрын
@anjelgiofu Correct. You're talking bollocks! :-)
EvenStar LoveAnanda
EvenStar LoveAnanda 2 жыл бұрын
@anjelgiofu What did he say that was very stupid? If you don't answer, that is admission of stupidity on your part. Like two people have asked you this already.
Faygris
Faygris 2 жыл бұрын
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
Kriptonis Azullis
Kriptonis Azullis 9 ай бұрын
only possible because they did a retrospective at the end of previous sprint.
Nutbunny
Nutbunny Жыл бұрын
Yes. I find it irritating whenever a video of a lecture focuses on the person instead of the presentation content on screen that the person is explaining. Depending on what lecture you're watching, it's very hit and miss. It's such a joy to find a video that focuses on the content instead of the person.
Ashique Desai
Ashique Desai 2 жыл бұрын
Thank you Uncle Bob for being an Uncle Bob to all the programming community.
LearnTwice
LearnTwice Жыл бұрын
How do you know you are watching quality content? When there are more upvotes than there are comments. This series is essential learning for any programmer that is passionate about the profession.
Borys Mądrawski
Borys Mądrawski 2 жыл бұрын
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.
UnityCoin
UnityCoin 3 жыл бұрын
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.
Carlos Estevam
Carlos Estevam 2 жыл бұрын
1:21:12 Stairway to Heaven
Samuel Charpentier
Samuel Charpentier 2 жыл бұрын
I beleive that putting this in the description of the video will make youtube add marks on the timeline of the video and name sections of that timeline accordingly.
Roland Kontson
Roland Kontson Жыл бұрын
(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.
Freedestroyer
Freedestroyer 2 жыл бұрын
Quality content through the whole series! Thanks!
László Márai
László Márai Жыл бұрын
Great lesson. Just to nitpick, because I've found that Bob got a few things wrong when he was not talking about software: Moore's law was never about clock rate. Or speed. Moore's law was about the number of transistors on a single chip. So it wasn't even about density. This means that Moore's law has definitely not died a decade ago. If you look at the graph on the Wikipedia page, it may very well be alive today: en.wikipedia.org/wiki/Moore%27s_law#Moore's_second_law . Actually, there is a section on forecast that says that most experts (including Moore himself) expect it to end around 2025. Now the exponential performance gain (wether it's per chip or, more importantly, per Watts) may have come off the exponential curve already. I'm not sure, but that's a different thing, even if it's more important from the perspective of what he's saying.
thebutlah
thebutlah 2 жыл бұрын
1:53:25 "A good architecture allows you to defer critical decisions as long as possible"
Daniel Barde
Daniel Barde 11 ай бұрын
These series have been great so far I really enjoyed them and I'm grateful for this, already looking for ways to start learning and implementing the things mentioned by Bob but I think in future events the camera mix operator should try to focus more on the slides when Bob is making references to them, it helps more putting a picture to what's being said. Thanks once again for this wonderful series it has been more than helpful for me and can't wait to implement the things mentioned by Bob.
nightsinger81
nightsinger81 2 жыл бұрын
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.
Nodarius Darjania
Nodarius Darjania 2 жыл бұрын
@lapieuvreee you can scroll down on full screen brother
lapieuvreee
lapieuvreee 2 жыл бұрын
I exited the full screen just to read this comment :D
Niels Andersen
Niels Andersen Жыл бұрын
I am surprised by uncle Bob's lack of understanding of databases. Has he looked at Postgres lately? I have not seen an object method implementation with the power of SQL (many have tried). There are times when you want to work on large sets of data, not individual objects. The database provides much more than persistence. Most importantly data integrity and schema. Indexing and linking of data is also important. With an object relational (like Postgres) database you can also implement business logic. His comment about code injection is wrong, look at how PHP is implementing PDO - there is no chance of code injection if it is implemented correctly.
EvenStar LoveAnanda
EvenStar LoveAnanda 2 жыл бұрын
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.
david g
david g 2 жыл бұрын
the IBM jeopardy computer answer is very cool. I am reminded of the books Hitchhiker galaxy. The answer to life the universe and everything is 42. - the problem was the people did not understand the question. Watson got the answer correct, we just did not have a precise enough question. This is the singularity issue and the existential crisis in AI in a nutshell. yeah, it will happen but why? well, we probably asked a bad question, and we don't understand the answer. It probably correct, but will take a lifetime to understand it.
Borys Mądrawski
Borys Mądrawski 2 жыл бұрын
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).
EvenStar LoveAnanda
EvenStar LoveAnanda 2 жыл бұрын
Maybe they don't know it's a mess, because they don't know what is clean. BTW this goes for every profession. Mechanical Engineering, Car mechanics everyone.
Philip Oakley
Philip Oakley 2 жыл бұрын
~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.
Sergio Posada Urrea
Sergio Posada Urrea 4 ай бұрын
Hi, I just have a question. I have internalized the concepts around Clean Architecture, but I consider people think clean architecture is a set of folder, a kind or folder structure or something like that, and that structure can be applied to all projects; I mean, they use the same layers for frontend and backends developments. Web is a part of the Infrastructure layer, but web IS NOT A NEW SOLUTION, is a part of a solution. Actually it is not a question, I like too much to get an answer from anybody of you who see this scenario in your company or personal developments. Do we need usecases inside a angular/reactive frontend app? Or are we understanding bad the clean architecture? Thanks.
Harcop Toluwap
Harcop Toluwap 2 жыл бұрын
always energetic and inspiring
Felix Lunzenfichter
Felix Lunzenfichter 2 жыл бұрын
I was disappointed when he said that Moors law is dead and self driving cars will not be here in 20 years. Up until now the things he said were really good. But in that case he is probably wrong. I would love to discuss this further!
Sahuagin
Sahuagin Жыл бұрын
how is moore's law not dead? I've had the same computer for almost 10 years now. In that time I've upgraded the video card once, and the RAM once, and my CPU is pretty darn old, but I couldn't do all that much better even if I bought a brand new top of the line computer. moore's law was that computing power doubled every 18 months. computer power has barely doubled in 10 years. you'd have to use a different metric, like maybe miniaturization, or ubiquity.
Sociedad del Bienestar Mutuo, SBM
Sociedad del Bienestar Mutuo, SBM 2 жыл бұрын
He is right, 80% automation is the easy part, the 20% is the really difficult part. but 80% automation is a lot and very good for many people.
Kemsekov
Kemsekov Жыл бұрын
"If you give me a system that works perfectly now, but I cannot change it, that software will be worthless tomorow." Don't tell him about Blockchain.
UnityCoin
UnityCoin Жыл бұрын
Thats true
Borys Mądrawski
Borys Mądrawski 2 жыл бұрын
As far I remember this explanation is not that full as it might be. It's not about the electron to shake, but about to change the orbit by the electron, which is connected to emitting a portion of the energy, which might be a photon.
Tychus
Tychus 2 жыл бұрын
I can listen to this for days ... great videos
Gamer din Basarabia
Gamer din Basarabia 11 ай бұрын
30:24 It's amazing watching a video on software design and development, and having a religious insight =)) What are sins if not bad practices that cause headache in long run, especially when we apply a stoic worldview?
Chiro
Chiro 7 ай бұрын
I decided to be a developer in my 13 (currently I have 30 hehe), I was to a course about Graphic Design, 3D design and for some reason php, and I loved it, and then in a bit learned java hehe.
Ram Fattah
Ram Fattah Жыл бұрын
Uncle Bob is Neil deGrasse Tyson of the programming community. 💻🌌🔬🧪🚀👩‍💻
Stephen York
Stephen York 2 жыл бұрын
Whilst I've loved this series of vidoes so far and have a deep respect for Bob, I'm seriously puzzled by one topic in this particular vid. Why would dependency injection "infiltrate" itself? DI is purely the idea that you pass in pre-created instances of an abstract interface. Regarding pre-packaged IoC container libraries which assist with creation of dependencies, I've used AutoFac, Simple Injector and .net core DI and not one of them infiltrates your system. They all are used early on to specify implementation to interface mappings along with scope but we only ever need to put the interaface names in the constructors. Nothing container specific at all past that top level boundary. DI is just a way of coding, not a framework. All code I've written just has the interface passed to the constructors as it would if you were manually newing up implementations of interface and passing them in AS that interface and with the IoC container I use I can always switch to another one. His take on this is particularly odd to me making out it's something you tie yourself to, but it really isn't. Maybe it's not something that can be done correctly in JAVA? Weird.
Sahuagin
Sahuagin Жыл бұрын
By DI he meant DI _frameworks_ not "poor man's DI". his whole architecture is based on poor man's DI (I think... not 100% sure).
Jacob Raihle
Jacob Raihle 2 жыл бұрын
@Betta Talks © We have standards and laws, which are not executable, and frameworks, which have a high level of control over your code. If these sorts of fundamentals can be encoded in executable form, with enough flexibility to use it with different languages, that's good. I don't think it's impossible, but I do think the trade-offs are great. As an example, most businesses do not deal with card payments themselves, but use a standards-compliant service. This comes at a cost, but it's often worth it to not deal with the stricter audits and additional training. However, there's no way a self-driving car can wait for responses from a web service when making real-time steering decisions. That _might_ be possible with a specialized internal web server (or more likely a different, but industry-standard, protocol) and a "black box" control software. But there's a lot of R&D to do before we are ready for that, and it'll be expensive, not only to get it done, but also because domain-specific tools give up a lot in economies-of-scale. In a lot of cases I think it simply isn't worth it, and again, I think many web frameworks _are_ good solutions to the specific problem of using the web as an I/O device. They do get overused and over-relied-on. I've enjoyed our discussion, thanks.
Betta Talks ©
Betta Talks © 2 жыл бұрын
@Jacob Raihle I understand your point from the developers view, but have we built that discipline for this rules to be followed yet, I mean if we are building a accounting app for example, do we maintain the double entry? Every developer or the base code of the accounting app should insist on making double entry, agree? Now that is a framework. A framework is a law, that's what I am trying to imply, for each domain these law specific frameworks should be developed, why? Is it going to affect innovation? I don't think so, in fact if everyone contributes to this framework that insists on maintaining double entries, then the code could be better, and more insisting less error prone, and follow the business laws, and this should be extendable to specific clients or customizable by clients, now that will be showing that the "framework laws" for accounting domain is established. And generally IT could become more trustable. Now this "framework" should be pluggable to any spring, struts, ruby, TypeScript, JS. Okay not that different in languages, but it should be at least not tied to "spring", "struts" kind of frameworks. That way the switch will be done faster. This sounds unachievable, because no one tried this, but that does not mean something like that could not be done. And for a self driving car, the domain should insist or kick some rules, just because some developer changed a less than to greater than in one code should not insist on running above 80kmph. Now this sounds stupid, I agree, but without those "laws" framework for each domain, some developer could make a single entry in an accounting application, or make a small mistake in the less than or equal to sign. Anyway we both have very different opinions, your idea of the web is different from mine, and we have strayed too far from this original topic, I tend to leave here. Let's stick with our own ideas.
Jacob Raihle
Jacob Raihle 2 жыл бұрын
@Betta Talks © I'm not aware of any rigorous measurement on this subject, but I think a vast majority majority of application failures are due to application code, not underlying frameworks. I don't think that having a wide domain applicability is a detriment to a framework, rather it shows a kind of focus and purity of purpose, which makes it easier to stay insulated and less-dependent. Of course, that's painting with very broad strokes. There _are_ domain-specific standards, models, etc. - look at PCI compliance for dealing with credit card payments, or TM Forum API definitions for examples. But the benefit of extending this to _frameworks_ is questionable in my opinion. As it stands, techies can specialize in tech and analysts can specialize in the domain, and each can drive changes in their own corner. I think that tying them together, and binding large parts of the industry to a collaborative framework, would severely slow the speed of innovation and growth. But I'd love to be proven wrong on this point. Offering "customizable commodities" as a product could be a viable business case. But is a self-driving car manufacturer's website really that different from a potter's? Certainly, your _core business logic_ has no business being coupled with HTML rendering logic, but isn't "website" a domain, and isn't Ruby on Rails a reasonable domain-specific framework? It's just not your _whole_ domain.
Betta Talks ©
Betta Talks © 2 жыл бұрын
@Jacob Raihle I am thinking of web as an I/O too, but our thinking varies there, what kind of I/O are we designing is my idea, if I think KZbin and American Express is the same I/O. Can we really be sure KZbin is trustable or for any matter, can we trust any app with our PI, because we know they should comply with government rules? Everything is right now only built on same spring, JS, typescript, nothing focuses on the rules for that domain, and follow them, unless implemented "properly" by the dev, okay, even there let's say our money is lost due to an app failure in a bank app, is it acceptable, let's go another step what if a self driving car, built on the same framework fail, is it acceptable? Like Bob said, everything is same as I/O, so can we allow Self driving cars with our life, like we trust nothing will happen bad, when type in a KZbin chat, where do we drive the line between, okay I can trust my life with this self driving car? Because everything is build on same code, none of them value the domain needs and rules, unless subject to proper "implementation". If one framework fails at self driving car, can we say that to the congressman that it's a fault in that framework, not the dev, we will use another framework, or fix that bug? This is what I had to say, I agree we both have entirely different views, but next time in future before trusting your life with self driving car, think about it as just an I/O device, and remember like any I/O failures can happen in that too, is it acceptable by you?
Casper S�
Casper S� 2 жыл бұрын
I genuinely cried when he told his story about becoming a programmer at the age of 12. There's something about it that's just poetic to me
Zoltán Boros
Zoltán Boros 2 жыл бұрын
I feel, the last question about concurrency had not been answered. Anyway, great talk, thanks for uploading.
Ayman Ahmed
Ayman Ahmed Жыл бұрын
I strongly agree with the SQL part.
Chtioui Malek
Chtioui Malek 2 жыл бұрын
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.
Robert Kelleher
Robert Kelleher Жыл бұрын
Surprised he didn't invoke the US Army Rangers ethic. "Slow is smooth, and smooth is fast."
InfinityDz
InfinityDz Жыл бұрын
The rant about the new languages and new frameworks that all boil down to just more of the same old stuff was so satisfying
Richard Thurston
Richard Thurston Жыл бұрын
I doubt anyone will see this but having studied black body radiation in my classes, Uncle Bob's description at the start hurts. His description is basically classical and the classical description of black body radiation leads to physical impossibilities like that anything that's glowing will give a stupid amount of x-rays (known as the UV catastrophe). The way to fix this problem is to invoke some quantum mechanics in that atoms can only be in a discrete number of energy states. Max Planck's solution to this problem of black body radiation was actually one of the early problems that lead to the development of quantum mechanics.
Andrew Pearce
Andrew Pearce 2 жыл бұрын
I came to learn why lights glow. I stayed for the software engineering
Developers Diary
Developers Diary Жыл бұрын
Prevention ,right focus, constructive thinking what could make you faster
Abstract Thinking
Abstract Thinking 2 жыл бұрын
In short terms, programmers are playing Tetris to fit new pieces in the software.
7th CAV Trooper
7th CAV Trooper Жыл бұрын
I want Uncle Bob in the room with me while I tell the stake holders that it's important to prioritize architecture.
Wristocrat
Wristocrat Ай бұрын
You’re never telling the “stakeholders” anything lol
Zsolt Bihari
Zsolt Bihari 3 ай бұрын
I am an electrical engineer and I program programmable logical computers nowaday in machines which is a different field of "programming" it has more constraint. To be honest people in the industry think it as something different than programming by IT peolpe. I feel the responsibility all the days when the people from production and management act like if they would know what is the problem what is the cure and when is the date and treat me like a cell in the excel file that should be green on the date. Last time I shouted on them. I am not proud of it. But ordinary peolple are not able to make distiction in between the simple terms like not open and closed and they can use they hierarcy against us if they are not statisfied. I would like to say in this situation by my hart please do not use your position as knowledge and i will not use my knowledge as power.
Paul Passarelli
Paul Passarelli Жыл бұрын
Love the ST:TOS reference from "The Apple" at 1:10😅
P1aenkl3r
P1aenkl3r Жыл бұрын
"The mess slows you down"
Kenny Ray
Kenny Ray 2 жыл бұрын
29:42 Editor: You want to see the graphic? Well, I think you need to see the speaker. 💡 ooh, I know!
RockStarJazzCat
RockStarJazzCat 2 жыл бұрын
I'm dubious about the Interactor as a Use Case. If one manufactures a knapsack, the use cases refer to the many ways one might interact with the bag, not some decision maker in the process, do they not?
Kevin Hall
Kevin Hall 2 жыл бұрын
Skip to 11:20 to avoid all the opening BS and get to Uncle Bob.
Lazar Otasevic
Lazar Otasevic Жыл бұрын
yes go straight to listen a bullshit about lights
Andrew Ghaly
Andrew Ghaly 2 жыл бұрын
You are awesome. Thank You.
Sleepy Ancient
Sleepy Ancient 2 жыл бұрын
I've watched 4 of these today... I'll come back another day.
Lily S
Lily S Жыл бұрын
Someone tell him that there are 8 core CPUs since 2011... He just didn't buy one (since most people don't need them). His point still stands, of course. We got a 16 core CPU- only 8 years later... And here it will probably stop (we'll move to better things, I believe)... In general, Great series! (except the editor :( )
McKenzie Pepper
McKenzie Pepper 2 жыл бұрын
Love the pontification! Good business model from faked knowledge!
aron hegedus
aron hegedus 2 жыл бұрын
I feel like if there were actual code examples in this series it'd make things much easier to understand and not sound a bit vague. In this first episode there was a concrete example which helped, and there's less and less so, and it's so long that it feels like he's waffling. Shame because he's definitely saying important stuff but it's just hard to take it on board if he's not giving examples
Tadej Sustarsic
Tadej Sustarsic 2 жыл бұрын
read his book, you'll have all the examples, bad and then good there
Svilen Petrov
Svilen Petrov 2 жыл бұрын
Uncle Bob is right about code but really unaware of Tesla's capabilities
окно
окно Жыл бұрын
Why use output boundary when you can just return ResponseModel?
Osman inci
Osman inci Жыл бұрын
25:28 When I started to think that I am the God it was when I drag a file to CMD and that was open🤣🤣🤣🤣
NewTube Channel
NewTube Channel 2 жыл бұрын
If you ask a question on SO, the fastest answers are the most incorrect answers, or full of errors and assumptions. The message isn't getting across.
SaijIX
SaijIX Жыл бұрын
Every since I was 2 and deleted an important financial file on my parent's computer, I knew I was a programmer
Rahamat Jahan
Rahamat Jahan 2 жыл бұрын
Does anybody have a working implementation of the architecture Bob talks about?
Mario K
Mario K Жыл бұрын
@Sahuagin +1, great explanation, its called hexagonal or onion architecture
Sahuagin
Sahuagin Жыл бұрын
@Sociedad del Bienestar Mutuo, SBM if possible your logic should not have a dependency on *anything* but the language it's written in. anything from a framework should be injected into the logic, and the logic should be completely shielded from it by an interface. you should have a separate module that is dependent on both whatever framework you're referring to and the logic module.
Sahuagin
Sahuagin Жыл бұрын
the key thing is to make sure that you have a dependency-free logic module in the center (rather than the DB being the center), and make the UI(s) depend on the logic, and make the DB(s) depend on the logic, with the logic being pristine pure dependency-free code. if you try it, you might feel like it's impossible to do that, but if you use dependency inversion (interfaces) you should start to find that things begin to make a lot more sense, and you will find really elegant ways of keeping things separate. (Bob maybe takes it a step further than I do. I do let a little bit of the ORM into my logic module, as long as it has zero direct dependencies on the DB and framework. my DB is built directly based on the structure of the logic model. but the logic model itself has no DB specific code in it at all.)
Sociedad del Bienestar Mutuo, SBM
Sociedad del Bienestar Mutuo, SBM 2 жыл бұрын
@Rob81k Yes that is right, but also is right that you need a framework "open sourced" that make your code easy and not develop all the "libraries" each time for each development.
Rob81k
Rob81k 2 жыл бұрын
​@Sociedad del Bienestar Mutuo, SBM Haha, framework. It's a pattern, Bob's whole point is you should build your software using the pattern, not use some framework making you dependent on the framework and restricting your freedom to change the system.
Lajos György Mészáros
Lajos György Mészáros 2 жыл бұрын
19:01 - he's probably talking about Digi-Comp 1 (en.wikipedia.org/wiki/Digi-Comp_I)
we we
we we 7 ай бұрын
Try doing this. Whenever I skipped some part, i saw uncle Bob moving from right to left every time
The Mathmoth
The Mathmoth 7 ай бұрын
Me laughing in 16 cores. The power of 2 curve is gone, but processors are still getting bigger, just more slowly.
Troll2640
Troll2640 18 күн бұрын
There were 8 core processors (common) when he recorded this… so. Yea.
Phyyl
Phyyl Жыл бұрын
I don't know who SBM is, but they should reconsider their video editing career path
ithelight r
ithelight r 2 жыл бұрын
@UnityCoin thanks so much for this series
Viktor Ferenczi
Viktor Ferenczi Жыл бұрын
Same here, but much later: ZX Spectrum 48k, 12 years old, decision made. :)
Christian Rickert
Christian Rickert Жыл бұрын
59:24 statement on self-driving cars and liability
gentooman
gentooman Жыл бұрын
So his critique of Ruby on Rails is that because it has an opinionated directory structure, it somehow implies that Rails is tightly coupled to the delivery mechanism (web/IO) and it that it's hard to determine the intent of app? ... what? Shouldn't he realize that because Rails has an opinionated directory structure, it's very easy to determine the intent of *any* rails app by looking at the same directories each time (e.g. app/models, app/controllers, config/routes.rb)? As opposed to non-opinionated projects where every project has a different structure according to the team that built it and thus requires more time to determine the intent? There are many valid criticism for Rails, but this is just lazy.
ajaykrishna21
ajaykrishna21 11 ай бұрын
1:00:00 - 1:00:12 - cracked me up so hard!
Jeremy Weatherford
Jeremy Weatherford Жыл бұрын
This talk would be an hour shorter if Bob used a wireless clicker for his slides...
Blackeye1987
Blackeye1987 2 жыл бұрын
i am often dissappointed by uncle bobs presentations... he does not really have real life examples as if your team of software developers will only consist of senior developer and architects and everyone is perfect in the tech stack you are using... good architecture has good rules and little pitfals for juniors and a lot of opportunities for seniors but maybe in the java world everything is diffrent and everyone is just an expert
The Big Boi
The Big Boi 7 ай бұрын
Absolutely not, the Java world does not have better developers (I know you said that somewhat jokingly, though). Java devs, especially inexperienced ones, will turn everything into some class that could have just been a file of functions. What results is a horrible mess of poorly thought out abstractions
Zbigniew Lorenz
Zbigniew Lorenz 2 жыл бұрын
I wonder how many front-end frameworks enthusiast know what GWT is? Anybody?
cgpilk
cgpilk 2 жыл бұрын
31:50 Start of the talk
Nysson Darky
Nysson Darky 11 ай бұрын
2 years later... We have 12 cores processors, you was wrong...
swapnil kale
swapnil kale 2 жыл бұрын
I feel bad that uncle bob is so wrong about self driving cars.
Sahuagin
Sahuagin Жыл бұрын
it's ok to be wrong. you can even sometimes _hope_ to be wrong. although I'm not aware that he's wrong yet about that, is he?
Fabio Alexandrino
Fabio Alexandrino 2 жыл бұрын
Yeah if we are slow to deliver code, we are fired.
Poema
Poema 2 жыл бұрын
25:30 lol like the community episode XD
JayCansino
JayCansino 2 жыл бұрын
Great lesson. But clearly, the technology that Zoox and Waymo had shown in the past months had disproved Uncle Bob's claim on self-driving cars.
chris
chris 2 жыл бұрын
More's Law isn't about clock core frequency, "Moore's law is the observation that the number of transistors in a dense integrated circuit (IC) doubles about every two years." Also if it was really the frequency like Uncle Bob is saying, then, it'll become harmful to humans once it reaches 6ghz and above. So basing More's law on CPU clock frequency is silly, given that we already know there's already a limit that it'll stay safe for humans.
chris
chris 2 жыл бұрын
@Roi Trigerman and Tushar so in 5g there two types of frequency ranges that are defined as range-1 (sub-6ghz, less than 6ghz), and range-2 (mmwave above 24ghz). I think most of the pushback was from range-2 and *not* range-1. Which is what most of the 5G providers are using (for now). On 6ghz spectrum being harmful to humans, there are two existing standards that those regulations are being based off, ICNIRP and IEEE. These are periodically revised, but it was both updated last year, the limits for local exposure were set even lower. Anyway, this is what I know, and there's a reason why there are regulations that have always been pointing sub-6ghz frequencies. If you guys don't want to follow it, then fine :D. I'm a software guy, although we did learn these frequencies in my uni days. But my main point is Uncle Bob misquoting Moore's law. While the clock rate and a number of transistors do complement each other (more transistors the faster), It's still misquoting. :)
Roi Trigerman
Roi Trigerman 2 жыл бұрын
@chris Thanks for the video. And regarding 5G, there are people against many things. I think i can safely say that the people against 5G are a very tiny and uneducated minority, who think it's cool, and who like the adrenaline of being against something.. As i said, 5G frequencies are by many many orders of magnitude lower than anything that can affect you.
Tushar Sadhwani
Tushar Sadhwani 2 жыл бұрын
@chris wonder why the FDA isn't against 5G then hmmm
chris
chris 2 жыл бұрын
@Roi Trigerman that's why a lot of people are against it :) By the way, you should check this video out: kzbin.info/www/bejne/babZhpynlM-Hgq8 Where it includes GPU transistor count as well. It doesn't include GA100 Ampere 54billion transistors, And AMD's Epyc Rome around 40billion transistors. So Those transistors count still catching up Moore's law approximately.
Roi Trigerman
Roi Trigerman 2 жыл бұрын
@chris But 5G network is at about 28Ghz.. that's much greater, and it's many orders of magnitude smaller than ionizing frequencies that can affect living things..
Jose Oriol Lopez Berengueres
Jose Oriol Lopez Berengueres 2 ай бұрын
skip to 1:35 for the genius part
florenckaf
florenckaf Жыл бұрын
Is it just me or is the audio not in sync?
Fermi Bubbles
Fermi Bubbles 2 жыл бұрын
so opinionated its hilarious
Tony Legge
Tony Legge 2 жыл бұрын
I’m not sure Uncle Bob understands AI.... there aren’t lots of programmers working to create the car code.... it’s called a neural network and it is self learning, just like (some of) us. Maybe Uber works using programmers but Tesla is on a different track entirely.
Meet the Floccers
Meet the Floccers 2 жыл бұрын
Nothing you can do to go faster? I guess uncle Bob never heard of cocaine.
Assgier
Assgier 2 жыл бұрын
In the context of Robert's talk, cocaine actually makes you the hare.
Meet the Floccers
Meet the Floccers 2 жыл бұрын
@Brandon Busby No it won't decreace the number of bugs, you just write more code.
man frombritain
man frombritain 2 жыл бұрын
1:21:12 I GET IT UNCLE BOB!!! Stairway to heaven live in New York 1973!
Hr Gwea
Hr Gwea 2 жыл бұрын
53:34 I'll remember this 5 years from now.
Rob81k
Rob81k 2 жыл бұрын
@EvenStar LoveAnanda It really depends on what you call a "self driving car", I believe the only way we can have a car without a driver is if the car is physically guided, and we kinda have those already, but for larger groups of people, namely trains and even those still have a driver! Edit: A thought on why I think this. The world is just too chaotic, which computers don't like. At a certain point, when there's too much chaos, no amount of logic in the computer will be sufficient to make order out of the chaos, which it needs to function. I think there's a threshold. I'm curious now what the science behind this is :) By restricting the physical world the car acts in (what I meant with "physically guided"), i.e. create an infrastructure like the railways, the amount of chaos is reduced so that the computer can cope. Maybe I'm just rambling I smoked a joint :)
EvenStar LoveAnanda
EvenStar LoveAnanda 2 жыл бұрын
@Hr Gwea OK, I was listening to something else when I saw your comment. I agree that we will have self driving cars as soon as we have the infrastructure in place. It won't be "everywhere" on earth but it will be in Cities. We already know how to automate machinery. Self driving cars are just a larger scale of automation. Cheers!
Hr Gwea
Hr Gwea 2 жыл бұрын
@EvenStar LoveAnanda I'm not referring to clock speeds. Listen to the first sentence at that timestamp.
EvenStar LoveAnanda
EvenStar LoveAnanda 2 жыл бұрын
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.
Ricardo R2 Martins
Ricardo R2 Martins Жыл бұрын
got curious about the programming toy he mentions in the beginning, anyone knows the name of it?
Ricardo R2 Martins
Ricardo R2 Martins 5 ай бұрын
@Gary Popov thats pretty cool tks
Gary Popov
Gary Popov 5 ай бұрын
It's the en.wikipedia.org/wiki/Digi-Comp_I
Borys Mądrawski
Borys Mądrawski 2 жыл бұрын
SAFe (Scaled Agile Framework) repeats this stupidity about "emerging architecture" proposing only Architecture Runway that do not address this subject almost at all.
Channel Dad Bryon Lape
Channel Dad Bryon Lape 2 жыл бұрын
Scrum is bad and SAFe is the worst kind of scrum there is.
大老表
大老表 2 жыл бұрын
Start at 11:20, thanks me later.
m stemmons
m stemmons Жыл бұрын
What year was this recorded?
lucasterable
lucasterable 2 жыл бұрын
32:04 this 1:34:44 this
Amro Hendawi
Amro Hendawi 2 жыл бұрын
so uncle Bob is pessimistic about A.I. capabilities... hmmm
Alex Fulop
Alex Fulop Жыл бұрын
this series is great but it's hilarious that the v.editor kept the shitty intros in but didn't bother to put any code on the screen
Sven van Crombrugge
Sven van Crombrugge 2 жыл бұрын
52:00 Those self driving cars are reality by now.
Zoltán Boros
Zoltán Boros 2 жыл бұрын
They can only drive in the easiest situation. For example how would a self driving car change lane in a traffic jam? Or how can it enter a roundabout filled with cars? Stops at the middle of the road and waits the end of the rush hour?
HanabiMock
HanabiMock 2 жыл бұрын
What? They are not. What are you talking about?
Legendary Films
Legendary Films 2 жыл бұрын
No its not. You cant travel by self driving car to another country.
Roger Barraud
Roger Barraud 2 жыл бұрын
12:08 Yes! - A DVD and a cereal box :-)
m sam
m sam Жыл бұрын
55:00 we have had 8 cores. What is he talking about
Matt Graves
Matt Graves Жыл бұрын
Great speaker. I am a bit upset at his pessimism for self-driving cars lol, otherwise what great advice for new senior developers such as myself. It's hard sometimes to push back.
Sascha Ingenohl
Sascha Ingenohl Жыл бұрын
Did anyone get the Stairway to heaven reference?
OldCountryman
OldCountryman Жыл бұрын
People who can code are too busy building software to give talks about coding.
Иван Баранюк
Иван Баранюк Жыл бұрын
meanwhile taxi without a driver start operating at moskow in october i beleave
Jim Coplien and Bob Martin Debate TDD
20:59
toalexsmail
Рет қаралды 149 М.
✅ COMO HABLAR FLUIDO Y SIN TRABARTE 💪 - EJERCICIOS DE IMPROVISACIÓN 😮 (Curso de Oratoria)
9:11
ExpresArte Mejor - Oratoria y Locución
Рет қаралды 1 МЛН
Жұмыстан шаршадым #shorts #shortsfeed #shortsvideo #shortsyoutube
0:24
Седьмой канал | Shorts
Рет қаралды 369 М.
Хватит ковырять губу! Помада от 7days
0:23
Programming 101 with "Uncle Bob"
1:33:46
Clean Coders
Рет қаралды 101 М.
🚀  TDD, Where Did It All Go Wrong (Ian Cooper)
1:03:55
DevTernity Conference
Рет қаралды 464 М.
Clean Code - Uncle Bob / Lesson 2
1:06:01
UnityCoin
Рет қаралды 424 М.
BOB MARTIN PRESENTS: The Future of Agile
1:33:14
AgileMontreal
Рет қаралды 28 М.
The Last Programming Language
53:17
Clean Coders
Рет қаралды 262 М.
Clean Code - Uncle Bob / Lesson 3
59:41
UnityCoin
Рет қаралды 294 М.