this post was submitted on 22 Dec 2025
15 points (100.0% liked)

TechTakes

2336 readers
51 users here now

Big brain tech dude got yet another clueless take over at HackerNews etc? Here's the place to vent. Orange site, VC foolishness, all welcome.

This is not debate club. Unless it’s amusing debate.

For actually-good tech, you want our NotAwfulTech community

founded 2 years ago
MODERATORS
 

Want to wade into the snowy surf of the abyss? Have a sneer percolating in your system but not enough time/energy to make a whole post about it? Go forth and be mid: Welcome to the Stubsack, your first port of call for learning fresh Awful you’ll near-instantly regret.

Any awful.systems sub may be subsneered in this subthread, techtakes or no.

If your sneer seems higher quality than you thought, feel free to cut’n’paste it into its own post — there’s no quota for posting and the bar really isn’t that high.

The post Xitter web has spawned soo many “esoteric” right wing freaks, but there’s no appropriate sneer-space for them. I’m talking redscare-ish, reality challenged “culture critics” who write about everything but understand nothing. I’m talking about reply-guys who make the same 6 tweets about the same 3 subjects. They’re inescapable at this point, yet I don’t see them mocked (as much as they should be)

Like, there was one dude a while back who insisted that women couldn’t be surgeons because they didn’t believe in the moon or in stars? I think each and every one of these guys is uniquely fucked up and if I can’t escape them, I would love to sneer at them.

(Credit and/or blame to David Gerard for starting this. Merry Christmas, happy Hannukah, and happy holidays in general!)

you are viewing a single comment's thread
view the rest of the comments
[–] swlabr@awful.systems 10 points 2 days ago* (last edited 2 days ago) (2 children)

The short answer is no. Outside of this context, I'd say the idea of "code modifications algorithmically at scale" is the intersection of code generation and code analysis, all of which are integral parts of modern development. That being said, using LLMs to perform large scale refactors is stupid.

[–] jaschop@awful.systems 2 points 12 hours ago (2 children)

I think I'm with Haunted's intuition in that I don't really buy code generation. (As in automatic code generation.) My understanding was you build a thing that takes some config and poops out code that does certain behaviour. But could you not build a thing instead, that does the behaviour directly?

I know people who worked on a system like that, and maybe there's niches where it makes sense. Just seems like it was a SW architecture fad 20 years ago, and some systems are locked into that know. It doesn't seem like the pinnacle of engineering to me.

[–] jonhendry@iosdev.space 2 points 6 hours ago

@jaschop

"But could you not build a thing instead, that does the behaviour directly?"

Back in the day NeXT's Interface Builder let you connect up and configure "live" UI objects, and then freeze-dry them to a file, which would be rehydrated at runtime to recreate those objects (or copies of them if you needed more.)

Apple kept this for a while but doesn't really do it anymore. There were complications with version control, etc.

[–] swlabr@awful.systems 3 points 9 hours ago

Unfortunately, the terms "code generation" and "automatic code generation" are too broad to make any sort of value judgment about their constituents. And I think evaluating software in terms of good or bad engineering is very context-dependent.

To speak to the ideas that have been brought up:

"making the same or similar changes at some massive scale [...] suggest[s] that you could save time, energy and mental effort by deduplicating somewhere"

So there are many examples of this in real code bases, ranging everywhere from simple to complex changes.

  • Simple: changing variable names and documentation strings to be gender neutral (e.g. his/hers -> their) or have non-loaded terms (black/white list -> block/allow list). Not really something you'd bother to try and deduplicate, but definitely something you'd change on a mass scale with a "code generation tool". In this case, the code-generation tool is likely just a script that performs text replacement.
  • Less simple: upgrading from a deprecated API (e.g. going from add_one_to(target) to add_to(target, addend)). Anyone should try to de-dupe where they can, but at the end of the day, they'll probably have some un-generalisable API calls that still can be upgraded automatically. You'll also have calls that need to be upgraded by hand.

Giving a complex example here is... difficult. Anyway, I hope I've been able to illustrate that sometimes you have to use "code generation" because it's the right tool for the job.

"My understanding was you build a thing that takes some config and poops out code that does certain behaviour."

This hypothetical is a few degrees too abstract. This describes a compiler, for example, where the "config" is source code and "code that does certain behaviour" is the resulting machine code. Yes, you can directly write machine code, but at that point, you probably aren't doing software engineering at all.

I know that you probably don't mean a compiler. But unfortunately, it's compilers all the way down. Software is just layers upon layers of abstraction.

Here's an example: a web page. (NB I am not a web dev and will get details wrong here) You can write html and javascript by hand, but most of the time you don't do that. Instead, you rely on a web framework and templates to generate the html/javascript for you. I feel like that fits the config concept you're describing. In this case, the templates and framework (and common css between pages) double as de-duplication.

[–] V0ldek@awful.systems 10 points 2 days ago (2 children)

This is like the entire fucking genAI-for-coding discourse. Every time someone talks about LLMs in lieu of proper static analysis I'm just like... Yes, the things you say are of the shape of something real and useful. No, LLMs can't do it. Have you tried applying your efforts to something that isn't stupid?

[–] istewart@awful.systems 7 points 1 day ago

Hmm, sounds like you are suggesting proper static analysis, at scale

If there's one thing that coding LLMs do "well", it's expose the need in frameworks for code generation. All of the enterprise applications I have worked on in modernity were by volume mostly boilerplate and glue. If a statistically significant portion of a code base is boilerplate and glue, then the magical statistical machine will mirror that.

LLMs may simulate filling this need in some cases but of course are spitting out statistically mid code.

Unfortunately, committing engineering effort to write code that generates code in a reliable fashion doesn't really capture the imagination of money or else we would be doing that instead of feeding GPUs shit and waiting for digital God to spring forth.