Тёмный

I Interviewed Uncle Bob 

ThePrimeTime
Подписаться 590 тыс.
Просмотров 377 тыс.
50% 1

Recorded live on twitch, GET IN
Uncle Bob
x.com/unclebob...
cleancoder.com/...
My Stream
/ theprimeagen
Best Way To Support Me
Become a backend engineer. Its my favorite site
boot.dev/?prom...
This is also the best way to support me is to support yourself becoming a better backend engineer.
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord
Have something for me to read or react to?: / theprimeagenreact
Kinesis Advantage 360: bit.ly/Prime-K...
Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
turso.tech/dee...

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 1,6 тыс.   
@tedchirvasiu
@tedchirvasiu 5 месяцев назад
The most unexpected interview of the year.
@auntiecarol
@auntiecarol 5 месяцев назад
Uncle Prime and the Bogagen, the crossover we really needed.
@carlerikkopseng7172
@carlerikkopseng7172 4 месяца назад
Yeah, especially after Prime admitted going from full on Clean Coder disciple to "this is bs, be pragmatic".
@dave_di
@dave_di 5 месяцев назад
A programmer of 50 years with a full head of hair? Sorcery!
@jfftck
@jfftck 5 месяцев назад
I’m surprised that the neck beard hasn’t taken over, it is the usual pattern of older programmers.
@myhstic
@myhstic 5 месяцев назад
Yo, doesnt debug. TDD
@MysticThistle
@MysticThistle 5 месяцев назад
the power of unit tests
@HairyPixels
@HairyPixels 5 месяцев назад
His grooming routine is as clean as his code.
@nicolaskeroack7860
@nicolaskeroack7860 4 месяца назад
@@myhstic no, he's busy creating pattern for us
@daltonyon
@daltonyon 5 месяцев назад
One the best interviews because it is from someone who does not like clean code and tdd, so we have a lot of good questions!! Thanks Prime, now we are waiting by Martin Fowler
@PrevalentAA
@PrevalentAA 5 месяцев назад
Yesss, we need Martin F!
@y00t00b3r
@y00t00b3r 5 месяцев назад
Absolutely not, too soon. I need at least a year to recover.
@ghun131
@ghun131 5 месяцев назад
But I think Prime likes Fowler, he even applies Folwer's rule of three
@DudeWatIsThis
@DudeWatIsThis 5 месяцев назад
Martin Fowler would NOT fuck around.
@blarghblargh
@blarghblargh 5 месяцев назад
@@DudeWatIsThis then he would never find out
@benaloney
@benaloney 5 месяцев назад
What a SOLID interview, such a clean coder
@CallousCoder
@CallousCoder 5 месяцев назад
And inefficient coder. Over abstraction is also a sin.
@sux0r1z0r
@sux0r1z0r 5 месяцев назад
Idk it seemed kinda DRY
@ghun131
@ghun131 5 месяцев назад
So you're saying you wanna KISS them
@GottZ
@GottZ 5 месяцев назад
oof.. this comment section smells
@OttoVanluchene
@OttoVanluchene 5 месяцев назад
There seems to be a pattern in the comments.
@AkinPollo
@AkinPollo 5 месяцев назад
Listened to this live on the way to work, was so invested, i just sat in the car once i got there until it ended. Top tier content better than any conference or seminar.
@bezimiennygrzes5593
@bezimiennygrzes5593 7 дней назад
you have adhd sir
@MrDivinePotato
@MrDivinePotato 5 месяцев назад
I love that a guy with as much clout as Uncle Bob can laugh about himself and joke around about his own philosophies. Great chat!
@blubblurb
@blubblurb 5 месяцев назад
To me the laughing sounded kind of forced I think he knows that he's in a space which looks very critical about his books.
@romankolar156
@romankolar156 5 месяцев назад
@@blubblurb He's just jolly! With so much experience he is just a little bit jaded and knows life isn't about being right. Gotta laugh too
@memoryman51
@memoryman51 5 месяцев назад
@@blubblurb I've seen him give talks. That's just how he is.
@blubblurb
@blubblurb 5 месяцев назад
@@memoryman51 Ok, good to know.
@Zizaco
@Zizaco 5 месяцев назад
Bob is very reasonable and I respect his efforts trying to "model" good practices into what he calls "clean code". I don't necessarily agree with all of it, but nevertheless, I think there is value in organizing these ideas into a book back in the day. One should remember that "Clean Code" and "Design Patterns" were written many years ago with many points that don't exactly translate to languages/practices we have now-a-days. I feel that people who "hate" his ideas are too dogmatic in the sense that you either agree with something 100% or you have to disagree 100% and hate it. Most things in life are not as black and white. Even Agile, if you are old enough to have experience with a "waterfall-like" process, you know how the agile manifesto had a positive impact. Of course, like most things, people try to make it into a business (scrum) and the whole thing gets distorted. I think Scrum sucks, (and I prefer to stick to the manifesto principles) but it's much better than the old waterfall approach.
@khatdubell
@khatdubell 5 месяцев назад
"how do you convince a company of that" You can't.
@miturtow
@miturtow 5 месяцев назад
26:37 "I have to help my wife move in 26 minutes" "This won't take that long" 😅
@developeryavorskyi59
@developeryavorskyi59 5 месяцев назад
This is actually my favorite video so far on this channel. It was informative and easy to listen to.
@Wyvernnnn
@Wyvernnnn 4 месяца назад
Maybe because he didn't ask if he still thinks that women are supposedly less qualified to be software engineers than men
@symix.
@symix. Месяц назад
​@@Wyvernnnn do you seriously think that everyone would take one difference of opinions that radically? Defineatly no.
@Wyvernnnn
@Wyvernnnn Месяц назад
@@symix. That's not just any opinion. So yes; I would hope the large majority of software engineers would have that kind of critical thinking & backbone.
@systemloc
@systemloc 5 месяцев назад
I'm really glad this interview happened. I think a lot of people that don't like uncle Bob miss a lot of nuance he talks about, brought in from decades of experience. Its also cool to go back and see his old stuff and see the evolution of his process. The 'functions do one thing' for example, he used to teach a completely different lesson.
@y00t00b3r
@y00t00b3r 5 месяцев назад
People don't like Bob because most of his "nuance" is him squirming when people have objections to his dogma which somehow isn't dogma but at the same time kinda is, unless he's in a "conversation".
@Refresh5406
@Refresh5406 5 месяцев назад
@@y00t00b3r Omg mald harder
@arthurmoore9488
@arthurmoore9488 4 месяца назад
@@y00t00b3r I did not see that at all in the interview. Prime clearly had disagreements and things he agreed with, but asked him some clear explicit questions and received clear responses. I found the discussion about testing to be insightful and will be using Bob's philosophy going forward.
@theodorealenas3171
@theodorealenas3171 3 месяца назад
​@@y00t00b3r Yes this must be it. I only realized it when I started reading his blog by the way
@NJ-wb1cz
@NJ-wb1cz Месяц назад
​@@y00t00b3r what I got from this interview is, this isn't dogma. It's his personal preference. Clean Code is his daydreaming in the sense of him thinking about things that satisfy him which is why he comes off as dogmatic and simplistic. There is no real discussion or nuance in describing your favorite taste, you just say it to be that way. But when faced with reality he changes, as everyone does when they snap out of those daydreams. Doesn't mean those daydreams are somehow changed by reality, or that he's lying. It''s just reality is one thing, and our fantasies about simple joyful scenarios where we slay dragons in just the right way with our favorite power move and everyone claps is a different thing
@Arville27
@Arville27 5 месяцев назад
I like this format.. I like how you actually having a conversation not just one person talking about their ideas, but you challenge the ideas with your own. This was so interesting to watch, I did not realize that I was watching one hour long video.
@constantinemorozkin8306
@constantinemorozkin8306 5 месяцев назад
Uncle Bob: "I'm gonna teach the world how to do proper Java" Also Uncle Bob: "I'm gonna switch to LISP" Top 10 anime betrayals
@elinars5638
@elinars5638 5 месяцев назад
LISP and FORTRAN are based
@ccidral
@ccidral 5 месяцев назад
Uncle Bob is right, the first step on how to do proper Java is to ditch it and do Clojure.
@CalifornianViking
@CalifornianViking 5 месяцев назад
If you want to write good software (not scripts and macros), then it is easiest to use a language that detects errors when the code is written, not when it is running. Nothing beats Rust from that perspective.
@balen7555
@balen7555 5 месяцев назад
​@@CalifornianViking I am so so, so god damn tired of hearing the same BS from people who haven't even written a medium sized Rust project. Stop. Rust is no magic bullet. It DOES NOT PREVENT BUGS AT COMPILE-TIME. It might make it slightly harder compared to certain languages, but that's it. And the hell r you smoking to even say nothing beats Rust WHEN there are languages like Idris with totality checking and proof checkers.
@zumalifeguard3493
@zumalifeguard3493 5 месяцев назад
Before Java, he was a huge C++ advocate, and OOPs guy. People evolve. This is a good thing.
@Oler-yx7xj
@Oler-yx7xj 5 месяцев назад
Imagine seeing the title without knowing who he is
@trappedcat3615
@trappedcat3615 5 месяцев назад
It's his uncle, right?
@jmro7
@jmro7 5 месяцев назад
🤣
@STatic4009
@STatic4009 5 месяцев назад
Honestly good. They will learn quick why he is so influential or at least recognizable in the field.
@MrIStillDontCare
@MrIStillDontCare 5 месяцев назад
Imagine being a software engineer and not knowing who he is.
@jay31415
@jay31415 5 месяцев назад
Can't a guy interview his diddling uncle in peace?
@MuayyadNofal
@MuayyadNofal 4 месяца назад
uncle Bob has a great personality GREAT INTERVIEW
@wuilliam321
@wuilliam321 5 месяцев назад
We need a 2nd part, this one was amazing, the two of you guys made huges changes in my life, YOU BOTH, it was amazing to see you talking each other. OMG. What a nice video! I really like it
@ciscoserrano
@ciscoserrano 5 месяцев назад
You gotta go through SICP, Prime. I promise just the first chapter alone will be mind expanding
@y00t00b3r
@y00t00b3r 5 месяцев назад
Are we on a first name basis now? I don't want people to know my first name!
@radicalchange9403
@radicalchange9403 5 месяцев назад
Ok boomer
@ghun131
@ghun131 5 месяцев назад
I read it five years ago. Your comment makes me want to read it again
@blarghblargh
@blarghblargh 5 месяцев назад
@@radicalchange9403 it's worth a read. just don't chug a 2L of coolaid after
@isodoubIet
@isodoubIet 5 месяцев назад
I'll read it if they make a version in C++
@Mihaugoku
@Mihaugoku 5 месяцев назад
i don't work in software, just a hobbyist programmer trying to learn and make cool things, and still this interview was captivating and motivating. thanks for bringing uncle bob in!
@_ocotech
@_ocotech 4 месяца назад
This is the type of interview I have been waiting for many years. First of all, thank you, Robert Martin, for your contribution to the IT industry, bringing new concepts around the development of software. However, I would like to say that, in my understanding, most people in the IT industry seem like they never ask themselves questions about why Clean Code, Clean Architecture, Scrum, Agile, Design Patterns, TDD, and other concepts. Nowadays, people just assume that these concepts are some type of standard. This interview was good because, in my understanding, Uncle Bob defined these concepts based on his own experience as a software developer and not as the result of scientific research.
@fvieira7539
@fvieira7539 3 месяца назад
This should be obvious at first for any intelligent reader that got one of his books....
@GigaFro
@GigaFro 5 месяцев назад
Definitely a smell if you are jumping all around to understand what the code is doing. A smell that the functions you wrote are not partitioning the code as well as you could and the names along with the parameters are not descriptive enough to tell you what that function is doing. Super insightful conversation! Loved it Prime Boi :)
@privateanon7623
@privateanon7623 5 месяцев назад
or a smell that you're trying to understand the "how" where you need to know the "what" and move on
@josevargas686
@josevargas686 5 месяцев назад
this happens all the time with OOP where people add a lot of state to the class, they have these "small functions" but the "small functions" are actually mutating any of the 10 properties in the class (you don't know until you read them, also you have to memorize what each small function is doing to get an understanding of their effect when called sequentially)
@GigaFro
@GigaFro 5 месяцев назад
​@@josevargas686 Yeh, I think this is where programming languages themselves fall short. The function signature becomes obsolete when you start changing state within the class containing that function. As a personal preference, I try to minimize mutability, employ the single responsibility principle, and have clear names that indicate what state is changing and how it is changing. By doing so, I can minimize the number of tests I run against my own short term memory (which is bad) 🤣
@AlexRodriguez-gb9ez
@AlexRodriguez-gb9ez 4 месяца назад
You can use tuples and either types to split up functions more easily btw...
@estranhokonsta
@estranhokonsta 5 месяцев назад
Prime showing how to be a host. Many media people might learn something about their job with this interview.
@laden6675
@laden6675 5 месяцев назад
lol that's cap
@retagainez
@retagainez 4 месяца назад
@@laden6675 no, he did a good job. he led bob to build his own arguments even when he disagrees with them. this comes from a person who is highly critical of prime in many instances.
@Nellak2011
@Nellak2011 5 месяцев назад
Even Uncle Bob says UML was a failure, yet college still teaches it and coerces you to use it.
@benfaerber4956
@benfaerber4956 5 месяцев назад
He didn't say it was a failure. He said he occasionally uses it. My team uses UML occasionally but not for everything
@SeaBike007
@SeaBike007 5 месяцев назад
Trying to auto-generate code from just UML is a failure. Though, knowing how to draw a UML diagram, how to read one, and how to think about different aspects of a software system with UML diagrams - seem like good skills. Are you using those skills 100% of the time - no. Though, if your reaction to any UML diagram is: "I have never seen this before in my life."..
@Nellak2011
@Nellak2011 5 месяцев назад
UML wastes your time. You would better use your time by going directly from story point to code, as code is the best diagram. It would be like drawing a pixel perfect mock up in figma, then converting it to Next.js, then oh no you have to change something, then you change it in code but it isn't up to date in UML. So you literally just did double work for no benefit. UML is garbage, just like OOP itself.
@ravenecho2410
@ravenecho2410 5 месяцев назад
​@@Nellak2011 respectfully, you just might have been presented with a challenging enough problem yet
@BryonLape
@BryonLape 5 месяцев назад
When I was in school, they still taught us the Structured Program Theorem, though OO was starting to take hold and Lisp was still hovering around.
@clementdato6328
@clementdato6328 5 месяцев назад
55:36 Prime: And I have proved that I am a shitty future predictor. Bob: and it is true
@JohnJack-wo9oy
@JohnJack-wo9oy 5 месяцев назад
I really appreciate this interview. I consider uncle bob my first real mentor and I went to college 😅. His clean architecture book and his lectures were giant stepping stones for me. It has become popular to misscharacterize and pick on him, most don't even really know what he is saying. Perhaps its a symptom of being the loudest advocate for change😂
@aaronvancuren7946
@aaronvancuren7946 5 месяцев назад
I feel like most people haven’t even read his books but will openly disagree with him lol
@JohnJack-wo9oy
@JohnJack-wo9oy 5 месяцев назад
@@aaronvancuren7946 it's very clear once they start their arguments 😂.
@kennethhughmusic
@kennethhughmusic 5 месяцев назад
Honestly, this was a great interview because it highlights the one thing that many people in this industry no longer do, have conversations about different ideas. Based on the views expressed by Bob Martin, it becomes very apparent that the books and processes he has expressed are discoveries that his has made about his time in software development. They are purely ways that he has found to do what he does in a way that makes him feel like he has done a good job. They are not industry standards. They are insight into how one might approach solving a problem. They (his views and opinions) should be the starting point for meaningful conversations that make us think about things from a different perspective. I have noticed a decline in abstract thinking in the software industry and everything has become concrete. I miss the abstract thinking because some of the most beautiful solutions (and simplest) have come from discussions that started as abstract ideas. I cannot express how much I enjoyed this conversation and the way it was conducted in a manner that seemed to be about learning as opposed to dictating what is right and what is wrong. Thank you @ThePrimeTime. Something we also need to remember is that people that challenge our thinking are not to be dismissed. Have the hard conversations in a constructive fashion and everyone wins.
@retagainez
@retagainez 5 месяцев назад
Most of all, he did not create many of these ideas. He just groups them together and re-explains what he learned from others. To talk to one another is to discover how little you know. It's a thoughtful direction for Prime to go into to bring such a guest on and dedicate an entire hour to. I truly think that his separation from the business world, like Netflix, has given him a clearer viewpoint on many matters as of late.
@nunofigueira8691
@nunofigueira8691 4 месяца назад
It is was my point of view comment before😊 Maybe it is because lot of people starting programming as the first subject. I starting coding to automate electronic process. So, programming to my understand doesnt has standard and focus on my business model and try apply the best pratices.
@javierRC82857
@javierRC82857 5 месяцев назад
27:48 "... agile's a lot like communism you know people just keep not trying correctly" this joke never gets old 🤣🤣🤣
@blarghblargh
@blarghblargh 5 месяцев назад
well, when everyone always points at 3 massively authoritarian and capital driven countries as "communism", it does get pretty grating. the joke is funny tho.
@retagainez
@retagainez 5 месяцев назад
I don't know Bob's viewpoint on communism, but I certainly can see it as an insult to compare the work of engineers to what many Americans (especially older Americans) consider a failed ideology. A bit tasteless even in jest.
@warrenarthur5629
@warrenarthur5629 5 месяцев назад
Coming from an American-based commentator (Prime) this is rather sad TBH, since most people in the USA have been so politically-abused by rhetoric they have little to no clue about the history and variation in this family of ideas.
@hemmper
@hemmper 5 месяцев назад
Always be suspicious of things with the word manifesto attached to it.
@SimonBuchanNz
@SimonBuchanNz 4 месяца назад
​@@hemmper IIRC the "manifesto" in early programming culture was an explicit reference to/joke about the communist manifesto, in the sense of "hey, don't take this *that* seriously", but of course people did. I can't speak to how serious the agile manifesto was about the usage, though!
@atrus3823
@atrus3823 5 месяцев назад
I was thinking basically what uncle bob said while watching your previous video on small functions. Ideally, you don’t need to drill down. The point of abstraction is to trust the abstraction does what it says it does and you can easily read what something does without knowing exactly how it does it. This is true at any level. If I use Python’s built-in open function, I don’t need to know exactly how it’s doing it, I just go, “ok, it’s opening a file.”
@BryonLape
@BryonLape 5 месяцев назад
Agreed.
@vargonian
@vargonian 5 месяцев назад
So glad someone said this. Small functions don't lead to the problem people fear they will.
@xthebumpx
@xthebumpx 5 месяцев назад
I think the problem comes in when for whatever reason you *can't* trust the abstractions and have to figure out what it's really doing.
@atrus3823
@atrus3823 5 месяцев назад
@@xthebumpx yes, you will need to drill down at this point, but usually only a small part is broken, so you don’t have the huge tree explosion Primeagen is talking about. If you have half decent debugging, you should be able to pinpoint the source pretty quickly. The issue here is was talking about was more trying to understand a new piece of code. I think the breaking it down can make that easier, of course, only if it’s done well.
@theodorealenas3171
@theodorealenas3171 5 месяцев назад
Exactly. You put a comment on every third line, then turn the comments into function splits. And add a function that's the table of contents, calling them.
@Kane0123
@Kane0123 5 месяцев назад
This is going to be a thoughtful discussion, I’ll enjoy it and that’s great. But the twitch brain desire is for just an hour of Prime memeing on him.
@tomisadone1145
@tomisadone1145 5 месяцев назад
And it was an hour of uncle bob memeing on prime
@connorsavugot1672
@connorsavugot1672 5 месяцев назад
I am SO excited that you interviewed Bob!!! Thank you so much Prime!!!!
@Anthony-pln
@Anthony-pln 5 месяцев назад
That was a great interview. Sat through the entire thing. Thanks to both of you for taking the time to do this.
@mmdavis
@mmdavis 5 месяцев назад
This didn't help me Rage Against Bob as much as I expected.
@ninobach7456
@ninobach7456 5 месяцев назад
That feel when you like a person whose work you hate
@edwardcullen1739
@edwardcullen1739 5 месяцев назад
Just because he's "wrong," doesn't mean he's a bad person... There are a LOT of things that he's right about, not necessarily clean code though...
@TimoRJensen
@TimoRJensen 4 месяца назад
Because he's right with most of it
@danBhentschel
@danBhentschel 5 месяцев назад
Excellent video. Two men who I highly respect, with very different viewpoints, having a respectful, informed discussion about their differing opinions. Thank you very much for this extremely high quality content.
@mehtubbhai9709
@mehtubbhai9709 5 месяцев назад
Thanks for setting this interview up. Been hoping for this to happen
@khatdubell
@khatdubell 5 месяцев назад
I think most people don't even understand the design patters. And i don't mean on a technical level. I mean, i don't think they understand that they are naturally occurring patterns.
@proosee
@proosee 5 месяцев назад
It's like difference between saying "I have a Honda" vs "I have a SUV" - some cars are just SUVs and if you use that that term for your car you avoid much confusion and you also introduce a lot less noise to your message.
@Asto508
@Asto508 5 месяцев назад
@@prooseeIt's actually a funny example since Honda is more specific than SUV regarding a subset of car properties, but less specific regarding the diff between SUVs and other cars. It depends on the context which one is more useful and if you can just use both in different contexts, really shows the power of proper design.
@proosee
@proosee 5 месяцев назад
@@Asto508 that's what I was aiming for: in programming the most specific thing is the code itself, but if you can communicate the general structure of your code just by saying a name of design pattern then sometimes it is specific enough your colleague doesn't need to dive into code.
@theodorealenas3171
@theodorealenas3171 5 месяцев назад
Occuring patterns means skill issue, magic is out of our control and it tastes delicious
@blarghblargh
@blarghblargh 5 месяцев назад
people often don't have to understand them because many of them are just language features these days. the GOF didn't build the book to be a perfect crystal to last for eternity. they said "this is what we've got so far. now it's your turn. show me what you got". and the cults built fake airstrips and fake airplanes out of wood because they hoped more planes would come.
@marco.garofalo
@marco.garofalo 5 месяцев назад
Really appreciate Primeagen opening the conversation towards learning. As Uncle Bob said, there has been over the years a lot of divergence with respect to Agile and so many other things, i.e. TDD, at a point where all those values, principles and practices were somewhat distorted, and kept people from being successful. I think we should see more of these exchanges and more often. Once thing I wanted to personally add to the TDD topic, when I don't know how to start designing a solution or the solution is very complex then TDD actually helps me a lot, because I can basically focus on one small goal/behaviour at a time, while my production code evolves over time in complexity without me specifically tackling all of that at once; Incremental and emergent design is something that can be very useful, and since you will end up with a bunch of test you can trust you will be able to re-design the whole implementation if you want, like Uncle Bob said. On the other hand, if you don't know enough about the problem, then it doesn't matter if you use TDD or not, because it's not the right time to start building a solution, instead spend time uncovering the unknowns and seek an understanding of the problem.
@markconway7162
@markconway7162 4 месяца назад
Couldn't agree more. I believe in pseudo TDD. It is my approach to rapidly developing closed utility functions. Yet best lightly applied when free-form carving things out, where it might instigate diminishing returns when it forces you to refactor the tests as you go or worse influences the subject code itself. I think the sentiment he expresses holds true: use the principles to help drive pragmatism.
@fantasiaenre
@fantasiaenre 4 месяца назад
"We Really Don't Know How to Compute!" - Gerald Sussman (2011) "Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022) For anyone interested, these two talks provide good insight into the philosophy of computation of Lisp. Professor Sussman is also the author of "Structure and Interpretation of Computer Programs" which is the book Uncle Bob recommended in this video. "Simple Made Easy" - Rich Hickey (2011) "Are We There Yet?" (w/ slides) - Rich Hickey (2009) "The Language of the System" - Rich Hickey (2012) or these talks by Rich Hickey, creator of Clojure, for a brilliant breakdown of general/fundamental problems in programming & software engineering, which functional programming attempts to solve.
@davidyanceyjr
@davidyanceyjr 3 месяца назад
I love this interview. Two great software guys who diverge. Great conversation.
@glubothemad
@glubothemad 5 месяцев назад
Thanks, I really enjoyed this live, was great to listen and understand better the position of the Uncle Bob. I might not agree with a lot of conclusions but I respect his point of view.
@CaptainWumbo
@CaptainWumbo 5 месяцев назад
abstractions are like farts. Nobody minds their own.
@y00t00b3r
@y00t00b3r 5 месяцев назад
That's really good. I'm stealing it.
@ghun131
@ghun131 5 месяцев назад
You need an evangelist to spread it so people can accept it
@blarghblargh
@blarghblargh 5 месяцев назад
@@ghun131 sounds dirty
@ant1fact
@ant1fact 5 месяцев назад
Too accurate lmao
@nemanjatrivic9505
@nemanjatrivic9505 5 месяцев назад
Frameworks are literally abstractions that someone else created. You people come up with the dumbest reasoning.
@adamsribz
@adamsribz 5 месяцев назад
"I often find people first reaching for a pattern and an abstraction before a problem is solved" This is one of main mine gripes in the professional world of programming. I don't understand why people love to increase the complexity of something when there is only ever a single use case for the thing.
@sacredgeometry
@sacredgeometry 5 месяцев назад
Often its not increasing complexity its actually the opposite. Its often about normalising the approach so that people can more quickly grok whats happening in your codebase.
@mehow357
@mehow357 5 месяцев назад
Patterns - reliable, proven approach to solve some problem. Also consistency with other parts might be valid point. What about the requirements? Maybe there is something than you miss and the pattern is addressing what you missed? I prefer consistency and similarity over constant reinventing the wheel, with new bugs, new issues, new "oh, I didn't thought about that". Also keep in mind: you read the code 10x more than write it. If every bit and part of the system is reinventing the wheel - the system quickly can turn into a nightmare - hard to maintain, fix, change, extend, understand... PS. It's beginner's mistake to apply patterns everywhere, on every step - it requires knowledge and experience to know that every pattern brings pros&cons and what they are, so you can decide which should be applied if at all any.
@youtubeenjoyer1743
@youtubeenjoyer1743 5 месяцев назад
​@@mehow357 Nice essay. Lots of buzzwords without any substance. Just solve the problem and move on. If it needs refactoring, then do it. If it does not, then don't do it.
@future_teknokrat7585
@future_teknokrat7585 5 месяцев назад
To prove they are smarter than you
@sacredgeometry
@sacredgeometry 5 месяцев назад
@@youtubeenjoyer1743 I dread to think what your code looks like. He was a bit loquacious but there were no buzzwords ... there was substance. He basically said that you shouldn't just use patterns for the sake of using them but using them makes your code more legible because people that know the patterns/ abstractions can quickly understand your code. If you are thoughtlessly just solving problems anyway you want then it becomes very hard for people to do that and you might end up reinventing the wheel ... and reinventing a crappier version of the wheel. Not only that but the waters are tested and the pros and cons well understood.
@zirkphoto
@zirkphoto 5 месяцев назад
he sound smarts, he should write a book
@hemmper
@hemmper 5 месяцев назад
😅
@user-pe7gf9rv4m
@user-pe7gf9rv4m 5 месяцев назад
Welcome to costco
@rdubb77
@rdubb77 5 месяцев назад
I love you
@exginto8053
@exginto8053 5 месяцев назад
❤️❤️❤️
@isegundo-y9h
@isegundo-y9h 5 месяцев назад
HAHA! I love this comment!
@vedantranade1815
@vedantranade1815 5 месяцев назад
costco?!
@Jabberwockybird
@Jabberwockybird 5 месяцев назад
5 DOLLARS A MONTH!
@noursalman932
@noursalman932 2 месяца назад
That was a very hard conversation to navigate, props to prime
@bugloper
@bugloper 5 месяцев назад
It's already 4:30 am. I guess I will go to work without sleep
@moonasha
@moonasha 5 месяцев назад
homie just listen to it at work
@nikolaygruychev2504
@nikolaygruychev2504 5 месяцев назад
lmao im in the same spot right now. good morning to u and ur timezone mate
@ghun131
@ghun131 5 месяцев назад
Pls have enough sleep! I usually listen to Prime in bathroom hour
@ja1548
@ja1548 4 месяца назад
Strange, for me it's mostly the opposite: I will to go sleep without work
@bugloper
@bugloper 4 месяца назад
@@ja1548 😂
@rdubb77
@rdubb77 5 месяцев назад
Holy shit the two funniest guys in programming team up
@harmonicseries6582
@harmonicseries6582 5 месяцев назад
Prime is funny, the bob guy is just an idiot
@TalsBadKidney
@TalsBadKidney 5 месяцев назад
Clojure is for the Brave and True
@ANONAAAAAAAAA
@ANONAAAAAAAAA 5 месяцев назад
My first programming class in uni used scheme and SICP which I liked. The class only go through the first half part of the book, now I want to read the remining part after a decade.
@GoodVolition
@GoodVolition 4 месяца назад
SICP is a brilliant book. I went though most of it in Scheme a few years ago. Highly recommend.
@tehpsalmist
@tehpsalmist 5 месяцев назад
Prime is Uncle Bob, just 15-20 years ago. He agrees with all of the same principles, but he has applied them most recently in different language runtimes than Uncle Bob, and Uncle Bob has spent way more time articulating those principles in great detail (all the books and lectures). Prime will get there soon enough, he has a very balanced and shrewd mind. I have great respect for both of them as programmers. This is what I aspire to.
@blarghblargh
@blarghblargh 5 месяцев назад
uncle bob's ideas are interesting and have some value. they're just not the way of life like they get sold to be.
@kahnfatman
@kahnfatman Месяц назад
@@blarghblargh When we buy Karl Marx's ideas, we end up having Lenin and Stalin, Mao and Ho Chi Minh.. Same for Immanuel Kant, whose great contributions lead to modern day atheism.
@LeeLikesFrenchFries
@LeeLikesFrenchFries 5 месяцев назад
watching this gives me a good idea what each of these 2's design styles are like
@Mark.Brindle
@Mark.Brindle 5 месяцев назад
Between early 1980 and 1995, I had spent years using Forth, APL, Ada, C, C++, Assembler (VAX, PDP, 68000,8086 and others). From 1995 to 2001, mostly Delphi, since then C# most of the time, as a backend developer. I enjoyed Forth and APL very much.
@tectopic
@tectopic 4 месяца назад
Fun hearing at least a word about Forth 😁👍
@claudiogofe
@claudiogofe 5 месяцев назад
He went from Clean Code to XGH based languages. That's wild.
@lockitdrop
@lockitdrop 5 месяцев назад
“Any books you want to shill” is CRAZY, but also exactly what the situation is lol
@blarghblargh
@blarghblargh 5 месяцев назад
pretty normal thing to say to a podcast guest. watch the hot chicken wings guy, says it at the end of every show.
@warrenarthur5629
@warrenarthur5629 5 месяцев назад
Depends on who was asking for the interview, and the arrangement that they came to. Not everyone has a sale to make dude.
@JasonBrackman
@JasonBrackman 4 месяца назад
Its crazy how calm this interview is. If you have ever seen Uncle Bob's self produced videos (its like sesame street for programmers ) - or Prime laughing at his 9 year old jokes related to the number 69 or the lyrical 'gypity', etc - this is just.... so.... calm. This is TheAdultingPrimeTime :). If possible, I'd love to see Prime's reaction to any of those Uncle Bob produced videos (or parts of them anyway).
@isaac_shelton
@isaac_shelton 5 месяцев назад
The moment you realize that the definition of "Clean Code" changes each time you ask
@theodorealenas3171
@theodorealenas3171 5 месяцев назад
Yes, which isn't a big deal unless it's used as a weapon
@blarghblargh
@blarghblargh 5 месяцев назад
@@theodorealenas3171 if you're deploying weapons in the workplace, then use whatever is handy and sufficiently blunt. or, work somewhere sane.
@berobass4589
@berobass4589 5 месяцев назад
Actually Primagen did not ask for the definition once. He actually took all sorts of concepts like Design Patterns and associated them with Clean Code. Clean Code offers a set of low-level best practices and heuristics to write understandable and maintainable code. You may disagree with it but please just read the book and dont just base your opinion on having consumed some streamers BS about it.
@alpsavasdev
@alpsavasdev 5 месяцев назад
actually, if you read the book you will also realize that Robert Martin asks some guys to describe what clean code is and every one of them describes it in a different way, which is totally OK because it is an abstract concept, it is not a prescription. He then includes those definitions in the book. What kind of a definition were you looking for?
@eurob12
@eurob12 4 месяца назад
Uncle Bob gave a demo on how to do TDD at our company. I could not replicate it but it felt so natural and logical. His thought was if I remember correctly: "If you do TDD you never have to debug a line of code."
@DaniloGanzella
@DaniloGanzella Месяц назад
words of someone who never actually made any meaningful code, lol, what an assholish claim
@loquek
@loquek 5 месяцев назад
You know what, I think I might be able to help better understand the discussion and challenges around the 35-42 min mark... Prime is saying there can be issues with breaking work into functions because it means he has to click around to read the contents of the other functions... and the challenges of cognitive load, but really, as Uncle Bob is saying, is that those functions should be cleanly semantically named, be in a logical place, but does not explicitly call out the reduction on cognitive load... which is why the techniques he is evangelising have value, but it looks like Prime didn't quite get it here... Apart from when he said, naming things is hard... and yes, it is... becuase to name something well, you have to know what it is, and what it is doing, understand its intention... and when you are zooming for productivity, this slows you down, A LOT.
@Freebytes
@Freebytes 5 месяцев назад
I really appreciate your respectful interview. Even though, in the past, you have expressed major issues with Clean Code, you are not antagonistic. Many people would start out interviews, as you said, like a debate. But you did not invite Bob Martin to a debate. You invited him to an interview, and you did not amazing job.
@PenStab
@PenStab 5 месяцев назад
56:31 funniest "maybe" I've ever witnessed
@thomasbuss
@thomasbuss 5 месяцев назад
17:42 On the conversation around planning upfront vs. building something working first and then making it pretty: I think it is valuable to note that in the days when you shipped software in a box, there was no way to refactor some of the work as you can these days. Meaning that if you hacked together a solution and shipped it, no manager would give you time to refactor your mess. This is also an important point on the conversation on testing: ThePrimagen is used to have the ability to roll back a change, Uncle Bob learned it the other way.
@retagainez
@retagainez 5 месяцев назад
But the planning upfront thing he describes is more of a learning experience than generating an entire diagram describing a solution. Maybe it's an artifact from the UML days, but I think it's a bit heavy handed to call it "planning upfront" when it's more like describing a napkin sketch on a post-it note or a temporary drawing on a whiteboard. This is done less frequently and still consumes a very small amount of time compared to the actual time spent writing the code. I would say his explanation of it is a much more lightweight interpretation of planning, not meant to bog down the coder. The entire waterfall approach is in reality more reminiscent of heavy upfront planning because of having less access to frequent deployments.
@isodoubIet
@isodoubIet 5 месяцев назад
Worth noting also that a lot of these practices predate the widespread use of source control, and you can see that in some early papers: editing code was seen as _destructive,_ which is why this CC style places such a high price on modifications of existing code.
@spiceybyte
@spiceybyte 5 месяцев назад
prime being extra polite to uncle bob
@ChristofferLund
@ChristofferLund 5 месяцев назад
I think he balanced it well. Too confrontational and this would probably have been a worse conversation/interview. Really enjoyed this
@juststudying1019
@juststudying1019 5 месяцев назад
Maybe because uncle bob is an old man with great experience
@juniorceccon
@juniorceccon 5 месяцев назад
I think even though he does not agree with clean code, he still respect uncle bob very much.
@retagainez
@retagainez 5 месяцев назад
I would say polite and maybe slightly intimidated. I think it might be intimidating to see Bob laugh so frequently and intentionally during some of the arguments. But, maybe, he's just trying to make it feel less serious and more open to discussion with that. Whereas Prime is taking it a bit more serious because he's trying to purposefully understand. The ending was extremely awkward though, I got a laugh out of it.
@matiasbpg
@matiasbpg 5 месяцев назад
Man didn't expect this, but it was an awesome interview! This and the tigerbeattle bust be the interviews i had enjoyed the most ❤
@SATORvii
@SATORvii 2 месяца назад
You are very good at interviewing! You should do this more often!
@cv4875
@cv4875 5 месяцев назад
Uncle Bob FTW! Sharing knowledge for the kewl kids who think they know it all. Heed his advice. The man knows his stuff.
@randall.chamberlain
@randall.chamberlain 4 месяца назад
The ultimate rock star of software development, one of the primal incarnations of a cult of personality. The guy who simultaneously has given us so many new ideas yet has inflicted so much damage to the software industry that we're just barely starting to recover from the conceptual spaghetti he push down our throats. Lots of us have had to endure the painful process of unlearning all the unnecessary baggage he brought upon us for so long.
@privateanon7623
@privateanon7623 4 месяца назад
"The new cult is better than the old cult". Meanwhile the good ideas are tossed and we keep reinventing different flavors of the same set of solutions to the same set of problems
@cryptonative
@cryptonative 5 месяцев назад
Things Prime gets himself into
@CYB3Rsynth
@CYB3Rsynth Месяц назад
I found Uncle Bob's laugh charming exactly once before it got old
@S-we2gp
@S-we2gp Месяц назад
I think on the golden test thing, you introduce those to a system that has no tests around, like Michael Feathers outlines in his book on testing legacy code. It gives you "something" at least to work with and change your code and see you're not breaking it.
@malikau917
@malikau917 4 месяца назад
Ahahah that’s why I absolutely love this channel!! Honest opinions. That’s how true engineering is happening. Also this bit is a good example: at 56:20 “Maybe, I give you 50/50”
@AgainPsychoX
@AgainPsychoX 5 месяцев назад
I was programming in Perl for few months, mostly simple logic/scripting & lots of testing code. I forgot a lot of it, I don't remember it being fun, but at least I got paid.
@hemmper
@hemmper 5 месяцев назад
Months doesn't cut it. You need a year of Perl before you feel the power and it becomes fun.
@pixelfingers
@pixelfingers Месяц назад
Well, that ended a bit awkward with the ancient binary theatre thingy. 😅 That was a very good video 👍 There seems to be this move towards “units” as units of behaviour, widening the scope of what you’re testing, with BDD describing observable outputs/states and behaviours, testing at the edges (although maybe not fully out.) So it makes your code easier to refactor. It’s working out where the edges are. Have you ever thought of doing one of these videos with Dave Farley or Dan North?
@ChristopherVanDerWesthuizen
@ChristopherVanDerWesthuizen 5 месяцев назад
That was a truly wholesome interview! Thanks Prime and Uncle Bob! Although, with all the giggling Uncle Bob did in the first few minutes I did wonder if he got high before the stream. That wouldn't be in character for him, but there was an awful lot of laughing.
@privateanon7623
@privateanon7623 5 месяцев назад
He's always been like that. Everybody has quirks
@boredbytrash
@boredbytrash 4 месяца назад
Dudes a multi millionaire, talking about his passion. Hell I would also laugh all the time with these conditions
@darkferiousity
@darkferiousity 3 месяца назад
I find Bob's way of writing code that is called first. Performance + Understanding benifits.
@niklase5901
@niklase5901 3 месяца назад
The patterns reminds me of grammar (“subjunctive mood” and all that stuff). I want to know it, but I also want to run whenever I hear it explained to me.
@jeffreyszcinskiii5181
@jeffreyszcinskiii5181 22 дня назад
When you run a test suite and you believe in it. It’s a magical moment. If you worked hard to write code, you should put some protection around it. Sometimes from others…a lot of times from yourself. (: good luck everyone.
@OneAndOnlyMe
@OneAndOnlyMe 4 месяца назад
I get where Uncle Bob is coming from and I agree with it: priority is not code performance or least amount of code, priority in large systems is easier maintenance and change that can maintain backward compatibility. I would argue that even state change can be conveyed through good naming of variables such that the code reads English like.
@dv_xl
@dv_xl 5 месяцев назад
The meta takeaway from this video is: don't source your opinions of other people from second or third hand accounts on Twitter. It's a common bias to attach idea B and person Y, even when person Y actually argued for idea A, and B is just some idea that was followed. Or they don't fully agree with A anymore, because they have learned.
@Twoface227
@Twoface227 Месяц назад
The whole idea of TDD just made my head explode. 3 or 4 months in learning Python, and I have been doing that pretty much from the start. Write a line, then another that verifies what I just wrote, does what I intended, www. Had no idea it had a name.
@janfrank3453
@janfrank3453 4 месяца назад
The argument for or against agile and processes lies in cynefin: Complex systems -> Enabling constraints, Complicated systems -> governing constraints.
@ldrives
@ldrives 3 месяца назад
Thank you Uncle Bob and Uncle Prime.
@Rebeljah
@Rebeljah 5 месяцев назад
Clean Interview
@boomertester
@boomertester 5 месяцев назад
I did not expect to enjoy this conversation as much as I did, thank you. 👍
@demolazer
@demolazer 5 месяцев назад
LISP is like Neovim. Once you try it properly, you eventually have this sudden moment of understanding.
@Imscottirl
@Imscottirl 5 месяцев назад
Try writing a real system in it. They tried that back in the 90s, didn't work so well.
@sylbouh7303
@sylbouh7303 5 месяцев назад
"Lisp is like Neovim" Emacs users going nuts
@carlerikkopseng7172
@carlerikkopseng7172 4 месяца назад
​@@Imscottirlthere's been lots of big systems written in Lisp. Both then and now (more likely to be Clojure). Paul Graham got his gazillions building the airline trip planner that was eventually bought by Yahoo (?).
@paulbrown5839
@paulbrown5839 19 дней назад
If you only have time for limited test code, do integration tests driven from some tool like cucumber. These are max bang for buck. Unit tests should be done sparingly around complex code. End-to-end always exposes unexpected bugs. Unit tests are for the “next guy” to be able to refactor without understanding the entire code base subtleties.
@michaelwalmsley7668
@michaelwalmsley7668 5 месяцев назад
Does Uncle Bob have any significant piece of OpenSource software we can study as a good example of 4-10 line functions? I haven't seen any good, sizeable examples in his books or talks.
@theodorealenas3171
@theodorealenas3171 5 месяцев назад
Legit. I've only seen the opposite extreme a few times, like dmenu.
@PlaymeoffSia
@PlaymeoffSia 5 дней назад
man this is soo cool, uncle bob interviewing uncle uncle bob !
@MiguelV-DF-xv2nf
@MiguelV-DF-xv2nf 4 месяца назад
That was a CLEAN and honest discussion, I learned quite a bit
@mobugs
@mobugs 5 месяцев назад
Nubank sighs of relief for having one more generation of developers
@analisamelojete1966
@analisamelojete1966 5 месяцев назад
They do code in clojure, and teach clojure.
@josevargas686
@josevargas686 5 месяцев назад
Cognitek :P
@isodoubIet
@isodoubIet 5 месяцев назад
Imagine doing banking in a dynamically typed language *shudder*
@estevaofay
@estevaofay 3 месяца назад
Man I loved this. Ready for round 2
@gunnarrohde3000
@gunnarrohde3000 4 месяца назад
I remember when having got a book as a present called extreme programming (XP) because we did a great job in a project. The ideas were great and they were made for programmers to make them better and work together. And then the agile manifesto flew into the picture... and that was a natural follow up... and afterwards the misunderstandings started and the corruption of the original ideas. It is one of the reasons why we created a video on "Agile" at Striped Giraffe because we have been going through the mill with people trying to teach others on agile while not having a single clue about the software industry. Thanks for this interview and all the humor. BTW: imho... everything is about bridging business and IT... and one of the pioneers on that topic was Digital Equipment Corporation (also called DEC)...they were ways ahead of their time... but unfortunately they did not survive. Maybe I should create a docmentary about it 😃.
@robertminardi4268
@robertminardi4268 5 месяцев назад
Here's our agile process: We start by taking time (not story points) estimates for tickets that'll come to development shortly. Those estimates are a dev time + qa time. We don't separate them, so already we have mixed paint that we can't unmix. Then, we plan for a 2 week "sprint" but we have to do support, answer questions (because we don't document) from our coworkers and customers, attend meetings and the rest of the non-dev hats we have to wear. Then we take a metric called "velocity" that uses our mixed units of work, that are just guesses (mixed with qa time guesses,) and we compare them to the total time frame that we have to work, which is diluted by other tasks, then we look at this graph and say "How'd we do?" It doesn't matter what the "velocity" is because none of the numbers that went into it are accurate, usable, nor actionable. If our velocity is off, who did the bad estimating? Dev or QA? We have no way to know. Not that it matters because we may have all been doing 5x more support, or answer more questions than we normally do. So our 2 weeks is missing 3 days. Any time I bring up this up, I usually get negativity or brushed off.
@ddanielsandberg
@ddanielsandberg 5 месяцев назад
Velocity is a measurement, not a target nor a promise. So how can your "velocity be off"? The point is to tell you some kind of real rate, not the wished, hoped or estimated rate. That there are other things taking time, unpredictable things, is normal but should be managed to not overburden. Of course if you've been doing 5x more support than expected it may mean that the way you are working (development practices, testing, documentation, refactoring, monitoring, logging, planning, etc) need to change so that you don't drown in support. Something about a self-inflicted wound. I find the argument about mixing dev + test time as very odd. Untested, unfinished, undeployable features are worth nothing. There's no separate point-system for devs and testers. It's either done or not. I loathe developers that declared "I'm done", throws it to a tester and starts working on the next thing, and it doesn't even work. If you have a culture where there is a blame game of "you didn't meet your commitment" or "who estimated wrong" the organisation have not understood anything and you should either change your organization or change your organization. Tip: Remove the columns "ready for test" and "in test" from your board and only have todo, doing, done. If it's not tested it's not done and NO ONE gets any points, gold stars or pats on the back until it's actually done! The point of agile is not about processes, story points, burn-up, burn-down, sprints, etc, stuff. It's about giving everybody a healthy dose of reality so that the team and organization can adapt and change early, instead of hope that whatever "wishful plan" people have made will actually happen.
@ghun131
@ghun131 5 месяцев назад
​@@ddanielsandbergwhat are your suggestions to avoid doing support? Undocumented time apart from technical support for other devs can come from operational support in my team. Documentation takes time and effort of writing and review so managers are very reluctant to give us time.
@ddanielsandberg
@ddanielsandberg 5 месяцев назад
@@ghun131 I am not suggesting to "avoid doing support". I'm suggesting to figure out if/why a lot of time is spent doing support. Why would managers tell you how to do your job? As a team you need to figure out where the time is best spent, for the short term and the long term.
@retagainez
@retagainez 5 месяцев назад
New company, if you can.
@robertminardi4268
@robertminardi4268 4 месяца назад
​@@ddanielsandberg They're comparing our estimated velocity vs actual velocity. That's what is "off". We've been told before that the separate QA column was no good, but we ignored the agile coach that told us that. We don't play the blame game, time estimation is just something we spend a lot of time doing. We spend a silly amount of time estimating when we could skip that, have a kanban type board, then line tickets up to be brought in as we have the capacity to do so based on the sprint goals. It just doesn't make sense to estimate when it's going to take the amount of time it takes. No more, no less. We might be able use the number of tickets complete at the end of two weeks as some kind of metric. BTW, we estimate by time
@refreshcrazyname
@refreshcrazyname 3 месяца назад
The refactoring discussions are interesting as well. Refactoring is the process of moving business logic into other or new classes. This process is supported greatly by TDD, because you start by refactoring your testcases, making them pass with the current implementation. Your test code will then be simplified during the refactoring of the production code, because you are working yourself out of the dependencies and complexities that made the refactoring necessary. The simplification of your test suite is your best proof, that the refactoring was a success.
@xxTheBlindSidexx
@xxTheBlindSidexx 4 месяца назад
Hot Damn! This is PrimeAgile Talk that put up thoughts from the back my head on a silver plate right in front of me. The Agile Zombie in me feels violated and i love it. Thx for this valuable talk.
@calebcauthon1117
@calebcauthon1117 5 месяцев назад
primagen not willing to admit that an abstraction can mitigate the pain of new changes is..something 🤣
@nmanjos
@nmanjos 4 месяца назад
🤣🤣Dude your face changing when you realize that you have working hard on the wrong parts of development is priceless, reducing dependecies, using Interfaces and making sure functions do just one thing, is the basis of Clean Code :P
@vargonian
@vargonian 5 месяцев назад
So glad to see Bob Martin here. I completely agree that the influx of new programmers has unfortunately washed away so much of the wisdom that’s come before.
@hwstar9416
@hwstar9416 5 месяцев назад
clean code is not wisdom lol
@y00t00b3r
@y00t00b3r 5 месяцев назад
@@hwstar9416 agree. So much went wrong in that era, that we're just now starting to recover from
@vargonian
@vargonian 5 месяцев назад
@@hwstar9416 It most certainly is, and we’re seeing the quote playing out: “Those who don’t learn from history are doomed to repeat it.” Modern codebases are so often written from overconfident green programmers who couldn’t write maintainable code to save their lives.
@vargonian
@vargonian 5 месяцев назад
It's unfortunately become fashionable to rebel against "clean code" principles and we're all having to suffer through the nightmare codebases created by over-confident inexperienced programmers who without fail believe that *their* code is "self-documenting", etc. I'm always reminded of the Martin Fowler quote: "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
@nobodyspecial1553
@nobodyspecial1553 5 месяцев назад
@@vargonian You can write code that humans understand without following the principles of Clean Code. It's not a dichotomy.
@jon9103
@jon9103 5 месяцев назад
The hallmark of good internal interface design is that they keep changes isolated. To use a metaphor, interfaces are to change as firewalls (I mean a literal firewall not a network device) are to fire.
@ashajjar
@ashajjar 5 месяцев назад
I used to love uncle bob .. then I've realised that what I love is him authoring books and/or articles about software engineering!
@guilhermeandraschko
@guilhermeandraschko 4 месяца назад
About interfacing, from my understanting it’s worth creating abstractions for domain layer (avoiding this layer depending on external dep) even if you dont have the need to do so, but for other layers you can wait until you need it (if you ever gonna need it)
@SetszawA
@SetszawA 5 месяцев назад
I think this is the best interview I saw on Uncle Bob. Also the final seconds were so cringe.
@aaaaanh
@aaaaanh 5 месяцев назад
Uncle Bob is the living quote: "Do not cite the Deep Magic to me Witch. I was there when it was written."
@hwstar9416
@hwstar9416 5 месяцев назад
uncle bob is a clown
@y00t00b3r
@y00t00b3r 5 месяцев назад
@@hwstar9416 uncle bob is the witch
Далее
This Might Be The Best Advice I Have Ever Seen
40:02
Просмотров 314 тыс.
Clean Code : Horrible Performance | Full Interview
47:13
Linus Torvalds on why desktop Linux sucks
11:07
Просмотров 1,4 млн
I Quit Amazon after 2 Months | Reaction
29:29
Просмотров 129 тыс.
So You Think You Know Git - FOSDEM 2024
47:00
Просмотров 1,1 млн
The Darkside of Software Engineering
30:43
Просмотров 172 тыс.
This Is Why Managers Don't Trust Programmers...
28:04
Просмотров 254 тыс.
Trying Zig Part 1
1:30:00
Просмотров 100 тыс.
Designing My First Game w/ Casey Muratori
1:42:46
Просмотров 161 тыс.
LeetCode Isnt Real | Prime Reacts
29:04
Просмотров 201 тыс.