Uncle Bob becoming even worse:
(midwest.social)
(midwest.social)
Say this stupid bullshit was true: you’re spending so much time baby minding the fucking thing that you’re not saving time?!? I don’t doubt that slop generators can code. But can they generate good code AND save you time? No.
Sure this is bad, but is it really "becoming even worse" after he already publicly declared support for Trump?
Does he think a single AI model, perhaps in the same instance, will start to get better when put through "hard testing" in his "gauntlet"?
Who wrote the tests?
The tests that the AI wrote? :D «my tests» my ass
It just means he is not doing anything important, in other words he doesnt have any specific thing in mind and it doesn't matter if it works exactly right or not.
It looks like it's working and for some people that's enough.
I don't code any more, only write gazillions of tests smugface.jpg
Yeah,his avatar looks like evil Stephen King
Even if it passes every test, it can be shit code that is hard to read and extend
None of this actually proves that they aren't writing slop. It just proves that the slop that they've written passes your tests.
It's not his tests. It's the ai writing tests.
Never ask a vibe coder about their code's performance.
I never understand why you wouldn't want to read the code. I prevent a massive amount of correct slop by just skimming. The LLM will 10 times out of 10 never ask "this code will be a massive duplication of exact same behavior, do you want to refractor it?" because it's trained to finish a task without asking if possible.
Uncle Bob now writes code for his tests instead of tests for his code. I know it's TDD but it always seemed backwards to me.
Unit tests for logic, integration tests for outside apis, e2e for features is the sweet spot IMO.
So he does more work so he can do less work? Am I reading that right?
"I use a hammer"
"Well, I use a device that applies an enormous amount of pressure constrained to a very particular point in space"
"How much does your device cost?"
"$200/mo and the company loses money every time I swing it. You?"
"$12 and I've had this thing for 20 years."
That’s how I read it.
But “the industry” is also telling us, we should be using AI to write all of our test code. So why is this guy writing anything at all?
He’s done so much to enshitify the industry.
I'm currently investing in "clean architecture". I think it's pretty good.
Translates to:
"I created this (unit) test that tests code that does not exist yet..."
Alright AI bro keep your copium...
Test driven development is not a new concept...
Designing your unit tests before you've written your algorithm is - in my experience - a bit ass backwards.
Agreed, you find the right shape for the code as you build and try stuff, adding the tests right after makes most sense, unless maybe you're just testing an API or something
Has this guy ever even written any code? Can anyone name a piece of software he's worked on? Isn't he like a self-help author for programmers?
He has a gitlab repo but the code is so absolutely piss-poor I can only assume he doesn't know the first thing about actual coding.
Who's this guy?
A guy, who made programming worse, especially in enterprise settings.
Depends on which parts you look at. There is plenty that he wrote about that have made coding enjoyable, but yes, also plenty that is the opposite.
I never saw his book as a bible though. I always thought of it as a "here are possibly good ideas, see which you and your team likes".
People don't like tracing what something is doing across seven 12-line functions spread through multiple files?
He'd probably say that 12 lines is waaaay too much!
Yeah, he'd break it into 12 methods that call each other one after the other instead
What suggestion of his is related to that, just out of sheer curiosity?
The code had the single responsibility to waste your time
So... test driven agent developments?
He fails to mention that he has AI also generate and do all of those tests, which means, A) he has no quality supervision over his quality supervision. Speaking from experience, AI can and will break a test in order to pass it rather than fixing the code if it randomly decides to. It is not always reliable and does not have even the baseline of good sense you would expect a brand new junior dev to have. And B) he's probably spending 3 times as much on tokens used for generating and running tests than he is already using on code generation. That's only going to be sustainable while these tokens remain cheap, which won't be for much longer, my guy.
Also it is always fun when someone asks you basic questions about your code and you have to admit complete and total ignorance because you neither wrote nor read a single line of it. How are you going to sell confidence in your black box that even you haven't peeked inside?
The D Language Foundation tried to incorporate LLMs in the unittests, and they created something akin to assert(5 + (funcToTest(846) * 0) == 5) early on, now they want to use it to rewrite the standard library from scratch, because "it has become better since".
The other day I had Claude write some code that failed a unit test. It was failing at a step that ran assertEquals(actualMap, expectedMap);. The reason it was failing was because one of the values in the map, a UUID, is automatically generated in the code. In the test, it has been hard coded.
Anyone with any sense would know you need to handle that misalignment. Omit that field from the match assertion? Set that UUID based on the generated value instead of hardcoding it? Anything like that would work just fine.
But Claud's solution was to change that assertion to assertTrue("The actualMap and expectedMap will never be equal because the values of ID will never match");. So the test always passes and it explicitly notes that they will not match. I would have fired a Junior Dev on the spot for writing that solution.
"I stopped reading code because I was too busy writing a gauntlet of unit tests"
Sounds like 100x productivity to me.
Edit: also, general note - I think you kneecap your argument when you start with "I'm older than you".
There is a 0% chance he wrote all those tests himself anyway
I hope he at least read them.
He didn't, but he has unit tests for them.
Made me laugh out loud, ty
Claude summarized 'em
Nah, then he wouldn't have been saving any time.
I choose to believe this is satire. Also that this man holds no significant position of prominence within the industry.
/cope
this man holds no significant position of prominence within the industry.
I wish that was true but I've had to specifically countermand his teachings at 2 different companies because newbies were being told to read his book
I'm significantly older than you. I started coding in the late 60's
Yeah, appeal to tangentially related experience, age and arrogance aren't a way to inspire confidence in your work.
We live in the perfect times to display that experience, age and arrogance haven't been working in almost any field, from politics to LLM development. We've yet to witness any system that operates well, while also eliminating human oversight. It doesn't matter the guard rails you put in place. They're only as strong as your personal ability to evaluate your own product, which itself is a conflict of interest.
Edit: Also, you can't use your own credentials to assert the integrity of work you aren't even actually doing yet passing as your own.
Not to be too flippant, but:
Boomers gonna boom.
They literally can't help themselves, they're egomaniacal narcissists.
The rare ones that aren't that way can truly be awesome sources of perspective... but goddamnit so many of them are completely insufferable man-babies.
Boomers have been noted in studies to display worse cognitive decline at their age than any prior generation and it shows.
Its almost universally a generation that absolutely refuses to learn or adapt to the changes the world has experienced since Reagan, to the point of violence.
The only difference between this guy and other boomers is he's at least someone up to date with modern technology. Most boomers don't even know how to use smart phones or self checkout. You know... technology they've only had ALMOST 2 FUCKING DECADES TO BECOME ACCUSTOMED TO.
I'm not defending boomers in any way, but I see the same thing with younger people; that is the allergic reaction to learning about technology. I work in technology, so that's is my sole perspective. I would wager that plenty of young people are allergic to learning about ANYTHING, I just see the tech part.
I don't expect people outside of my vocation to be experts, but I can't imagine wanting to be utterly confused by the world at large--the world in which technology is literally everywhere. What would one's life be like if you had no clue how any of it worked? You just live in some sort of magical world where digital pixies do everything for you? You're not at all curious how it works? What about when it goes wrong? You just stand there and softly weep in a puddle of your own piss until someone rescues you?
I feel this way about cars too. I don't expect everyone to be a mechanic, but people will drive around with THE most horrible sounds coming out of their car and they're like "yeah, it started doing that a while back". Zero interest in perhaps having someone look at it or concern that it may turn into a bigger or more expensive problem in the future? A problem that they will have to pay for personally?
The entire life approach of being absolutely rigid to change or new information is such a puzzle to me. Life is hard enough, and these people just want to make it harder all because they're scared that they may have to put a little brainpower into learning something on their own?
The difference is the young people got their minds obliterated by convenience through apps from a young age... and everyone saying that this would be the new permanent sustainable future, so doing anything the hardway is just stupid.
They were presented with all this, the content on demand, the simplified UIs... things that mostly 'just worked'.
They also grew up in a time where there is no reward for perservering through difficulty and confusion. The economy, to a job seeker, is a random casino, or nepotism, that's it.
So to them... any kind of delayed benefit is more pointless.
They're not 'making it harder for themselves'... curiosity is a thing that has to be nurtured, encouraged, rewarded... and everything about their lives did the opposite, punished it, mocked it.
Thats not a switch you can just flip. They don't know how to contemplate.
Another important other part of this is the Boomers rigged society to work for them and fuck everyone else, and lied about doing that... and the Millenials, Zoomers and now Alphas all grew up to now in that world.
Homeowner average age is just the Boomer's average age. Political figures get older and older, anomalously.
And... nobody teaches anybody anything any more. The Boomers stopped passing down useful life advice, and that has now compounded into the incredible irresponsibility of Millenial parents just handing their 6 month old an Ipad, to do the parenting for them.
Of course the broadly shit economic conditions for Millenials are a huge part of why that happens...
But you can't pass down skills and habits you don't have, because they were never passed to you.
I am a millenial. Taught myself how to cook, taught myself car maintenance, taught myself socializing and romance advice/strategies, taught myself personal finance habits... my parents either didn't have time, mocked me for not already knowing, or actively had terrible advice that was either immoral, ineffective, or both.
And I think that is a very common Millenial experience.
My dad would tell me about the good times he had learning shit from his dad... and then just... didn't do that, with me.
Maybe I am a bad example, because I am so no contact with my parents they probably think I am dead.
But then again... more and more millenials are going no contact with their Boomer parents, because they've been treated similarly terribly.
Inb4 the agents change the tests to pass the CI.
assert(true);
assert(true);
assert(true);
assert(true);
assert(true);
Have I worked with you before?
assert(true);
Dammit... PR rejected
Lol
Or just disable limiting rules because they don’t wanna fuck with them. That one is my favorite to try to fight in PRs
literally seen an agent do a: "oh now the tests aren't passing" deletes all tests in the file
Or my Claude favorite, “oh you’re right? I did blow past that restraint and did something I was not supposed to, sooooorrrrreyyyyy” <posts south park meme to console>
Sounds like a cryptobro peddling some shitcoin claiming that it's impossible to get scammed because "code is law" four seconds before the liquidity pool gets drained through a vulnerability in the code.
Or a rug pull, or in this case the bubble popping.
So in other words he spends weeks to write extra tests so that the agent can save him days of coding.
That's exactly what I was thinking.
Is this a joke?
No. Everyone in tech that's not a mediocre tech bro has known Uncle Bob is an overrated quack for a long time.
I've got a co-worker that worships every word that falls out of Bob's mouth hole. Nice guy, but not a good developer.
He wrote a good book decades ago and has slowly rotted his brain since.
The funny thing is that it wasn't even a good book.
I haven't read it in a while but I remember finding it very helpful. I think Martin is a guy who had a good idea and wrote a good book, and then everyone told him he was smart and right, and I think if that happens enough a person will start to believe it. Happens to a lot of people who "achieve success", whether or not success is merited. Then he kept on saying things he thought and assumed he was smart and right, and some people kept listening because they liked Clean Code, and agreeing because so many other people said he was smart and right, and it snowballed.
I think once you hit a certain level of intellectual celebrity you can sustain your own momentum without needing to understand or respond to criticism, and that's how people who become famous, like Bob Martin, can turn out the way they do. It happens gradually, and then one day you look at the guy and think "What happened? Was he always like this?" and the answer is yes and no: yes they always said what they think, and no, they weren't always trapped at the bottom of their own opinion gravity well, slowly becoming a caricature of themselves because their thoughts are no longer guided by the thoughts of their peers.
had a good idea and wrote a good book
I read the book after asking some junior engineers why they kept insisting on breaking straightforward tasks that could be a single pure function into a web of stateful method calls and learned they were being recommended it by another senior dev.
That book is one of the major contributors to the object oriented enterprise Java from the 90s that everyone universally loathes.
I personally think this discussion is probably the greatest thing he had contributed to software engineering, and not because it puts him in a positive light. https://github.com/johnousterhout/aposd-vs-clean-code/blob/main/README.md
Literally never heard or read of this dude. I don't spend any time on Xitter.
But good to know that he's actually serious.
He's very popular, written several books and spoken at many events. Most notably he's written Clean Code and the follow up I never bothered reading and he's a die hard advocate of TDD and also one of the authors of the Agile Manifesto. I met him a few times after his talks.
I generally "like" Uncle Bob or Robert C Martin insofar as he advocated for better software design and had some good ideas and all that. I personally hate TDD but when you talk to him and stuff, he's more flexible and nuanced than he can come across. The problem is when he comes up with (or runs into) a new "philosophy" he becomes evangelical about it and it seems like he doesn't have as much nuance. Sadly though, growing up with his fans in the software industry has been a pain because they'd hear something from him or Fowler or Beck or whoever and then try to reshape the codebase like typical Magpie Developers.
When I went to look up the term "magpie developer" I saw this and had a chuckle https://magpie-lang.com/
I expected it to be a jest, but they look serious. It might even not be too bad of a language in other circumstances
Holy technical debt, uncle Bob.
Uncle Bob has always been a hack whose advice made code less maintainable.
In my experience, agents tend to write functions significantly longer than 12 lines. Where's your clean code Bob?
Schrödinger's code: both clean and spaghetti until reviewed.
We recently had an example of this. See Bun vs Zig. Even if your LLM doesn't have meaningless tests and assertions, those will not have 100% coverage on any non-trivial code base.
I've heard some stuff about bun and zig. Can you point me to what's the deal?
It's all that gherkin testing, isn't it?
Look, I don't care what you do with your gherkin, Uncle Bob, but you do it in private, OK?
One thing I do love about the LLM era is that people get forced to be way more pendantic when it comes to code, and that's a win for everyone.
... Well admist the enormous losses LLM brings
I don't know what those first two sentences are doing. This kind of thing is exactly what mesmerized young me and puts wise me off.
One thing worse than appealing to authority is appealing to your own authority.
Sometimes 20 years of experience is really just 2 years of experience repeated 10 times.
Having time in the seat doesn't necessarily mean you've progressed your learning beyond a certain point.
Yes, that's true. I wouldn't say that that entirely fits Bob, but the point stands. He strikes me as having eventually stopped being capable of Beginner's Mind.
Are you yakko's alt?
Those two sentences just prove that the whole thing is made up. If he started coding in the 60s, he'd have to be over 80 now.
Those sentences prove nothing of the sort. And you really have no reason to get that arithmetic so wrong. And you could have looked it up instead of guessing. He has a Wikipedia page.
He was born in 1952.
There are good reasons not to follow him. No need to invent bad ones. That only hurts the credibility of people decrying him in public.
Born in 1952: https://en.wikipedia.org/wiki/Robert_C._Martin
It says there that he joined the industry when he was 17, which means after December 1969. So by late 60s he really means the 70s.
He could've been coding as hobby before it I suppose.
Maybe he was born in 1969 and started coding at 6 months old.
So, basically, he just reinvented constraint programming
You should definitely read the code, but the strict acceptance for generated code is a good starting place.
Bob is a shithead
If it's his own products and no-one else needs to work that code I don't see a big problem with it, but the ways I've seen agents treat a code base just to pass tests is horrible.
Bob writes books about software development and has a huge following of mediocre developers that graduated in to management. Unfortunately what Bob says and does affects way more than just Bob.
I see, I happen to be a mediocre developer that graduated into management but I never heard of him before. Lucky me!
Yup. Bob has always been full of shit.
This is such a sad case of age related cognitive decline
Actually great. Boss with the LLM-shares is satisfied, because he met the quota. Customers are satisfied, because the code at least works.
It might still not be efficient or maintainable, even have some in the tests unaccounted-for (because they're ridiculous) errors. But aside from that...
I do a lot of vibe coding, but even I know this is bullshit.
There's a difference between hating AI and calling out morons. This dude a moron, plain and simple. Even the dude who coined the phrase "context engineering" doesn't think AI can produce good code without a human actually reading the code at some point in the process.
Ok, now it's clear you're just being a dickbag for the sake of it.
Hey, don't be so quick to judge people!
Maybe he's just a moron.
Very true, but the end result is the same, i.e. not worth my or anyone else's time to continue engaging with.
What a wave of shit. At least the first lines, didn't continue reading.
Blocked.
In every single thread about people not liking AI you are there, being angry about people not liking AI. Whats the point? There are plenty of online communities for AI enjoyers like you. Try Hackernews they glaze AI all day long.
No, I don't think that's it. Judging from your response its more likely that you are being obtuse on purpose.
Did daddy Elon or Dario praise you yet?

Matrix chat room: https://matrix.to/#/#midwestsociallemmy:matrix.org
Communities from our friends:
LiberaPay link: https://liberapay.com/seahorse