I’ve subscribed, it scratches the itch between waiting for episodes of if books could kill!
swlabr
Yes! It also highlights how willing the administration is to clamp down on even non-violence.
realising that preaching nonviolence is actually fascist propaganda is one of those consequences of getting radicalised/deprogramming from being a liberal. You can’t liberate the camps with a sit-in, for example.
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.
I only use software named after words that aren’t made up. That is, I don’t use software. I post here by waving copper wire at telephone poles to bit bash my way through the tubes.
It would be even better if it were . Unless we were to retcon throat as a classical element. I would not say no to that
Chromefox: the Sonichu of FOSS
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.
BRB starting my new browser named ThroatGoat
Q: what kind of algorithms does an AI produce
A: the bubble sort
Thinking that debates are the ultimate decider of who is right or wrong is like, twelve year old shit. Hence the internet debate industrial complex