Live data from Hacker News

Uncle Bob: It's Over

old.reddit.com

61–70 of 93 posts

Re: Uncle Bob: It's Over

#62
post #60

Earlier quoted context omitted.

I mean I wasn’t sitting around unproductively waiting for 30 minute CI runs to finish before LLMs came along, either. I also like to use LLMs for background work on iterative tasks, but the way some people talk about work in the days before LLMs make me realize how we’re arriving at these claims that LLMs make us 10X more productive. If it took someone all day to do a few minutes of active work then I could see how L…

Count yourself as one of the lucky few that can pay a 0 minute context switching price to switch between whatever other productive work you were doing and debugging CI. Most people I speak to remark that continually switching between unrelated tasks significantly diminishes their productivity.

The example above was talking about 30 minute wait times between being able to do work.

Nobody is staring at the screen for 30 minutes in deep concentration while they wait for that turn to complete. They are context switching to something, but maybe it’s Hacker News or Reddit.

There is always a context switch in scenarios like this.

Re: Uncle Bob: It's Over

#63
"it can chop up all your functions into tiny functions..."

And now you just played yourself, by creating a morass of tiny functions. Well tested (CRAP says so!) And impossible to understand how they compose together.

AI will happily return the next token and ruin your codebase, if you ask it.

Re: Uncle Bob: It's Over

#64

"it can chop up all your functions into tiny functions..." And now you just played yourself, by creating a morass of tiny functions. Well tested (CRAP says so!) And impossible to understand how they compose together. AI will happily return the next token and ruin your codebase, if you ask it.

Creating functions that are only used once, in one place, and are pretty small is on of those things I give a harder look at during PR review.

Re: Uncle Bob: It's Over

#66
Yes I get the irony but also let's not forget that it's over for the Code that Uncle Bob likes. Which is bad, verbose, dogmatic, unreadable, elitist code [1] with "discipline" [2] and a dash of sexism. And that has luckily been over for a _long_ time before LLMs.

1) https://qntm.org/clean

2) https://blog.cleancoder.com/uncle-bob/2017/10/04/CodeIsNotTh...

Re: Uncle Bob: It's Over

#67
Over on reddit and over here as well people seems to be reacting to the title of the video or the first 5 seconds or just the author. On the original x[1] post however, the top replies are about the subject matter, which is about having agents write tests and refactor code.

And speaking of agents writing tests, I have an ask. The tests agents love to write are in a lot of ways like human written tests, perfunctory and smelly. They are there to check coverage or prompt checkbox, but they barely stress the system under test. I often find that the tests are faking and mocking so many inputs, methods, and side effects, that they aren't testing anything at all. Asking the agent to write the tests first so that they the underlying implementation is more testable has yielded no results.

What has worked for people to get agents to write more testable implementations and better tests?

PS. Reacting to Uncle Bob, I found metric driven agentic refactors just push complexity to outside the scope of the metric. I am finding I need to actively guide the agents for the refactors to actually improve things without increasing the entropy of the codebase.

[1] https://x.com/unclebobmartin/status/2046206145597972849

Re: Uncle Bob: It's Over

#68

The craziest thing about AI is you can just try it yourself and check if the claims are true. I use Claude code and codex daily. They have become an integral part of my workflow. There is no task that takes me a day that they can complete in five minutes. Even with the lightning fast progress being made, it looks like LLMs are a decade or more away from being that good. If AI can do your job for you, you should be th…

When you do any meaningful work, that is, not "generate a website with a fancy UI", you very much realize that AI can not, in fact, "do the work". They constantly make mistakes, and you have to spend about as much time writing the spec and checking the code as you'd have written the code

So the effect is just merely some kind of acceleration of "boilerplate code writing", which is very impressive for beginner coders who are mostly doing automateable, trivial tasks, but much less so once you start doing real concurrency / threading / embedded / etc work

Re: Uncle Bob: It's Over

#69
I’m not so sure. I had a recent experience where Kiro was convinced there was a defect in the testing library when I asked it to refactor some existing project code.

However this conclusion made no sense as we had similar scenarios across our project that worked flawlessly. After intervening I determined the root cause was a combination of an async issue with the production code and some incorrect mocking that was covering up the async issue.

It never occurred to the AI agent to do some simple cross examination before essentially throwing in the towel?

Re: Uncle Bob: It's Over

#70

Earlier quoted context omitted.

Amazing tweet. https://x.com/stevesi/status/2050325415793951124 Here's how history rhymes with this logic. The development of compilers v writing assembly language was not without a very similar "controversy" — that is, are the new tools more efficient or less efficient. The first compilers were measured relative to hand-tuned assembly language efficiency . The existing world of compute was very much "compute bound"…

> Also worth noting, early compilers (all through the 1980s) routinely had bugs that generated incorrect code. Incorrect. They had bugs that generated incorrect code. They didn't routinely have bugs that generated incorrect code :-/ And the bugs they had were reproducible.

Didn't someone say LLMs memorize Harry Potter books? You can't have it both ways.
Post reply on HN