The automation of boilerplate code is not a selling point of generative AI, but an indictment of the language.
"I was tired of checking for nil, and then I installed Copilot. Now I have two problems."

@ross THIS IS MY TAKE AS WELL

I feel this so strongly!

@ross Like, if your programming language has problems with boilerplate, THAT'S THE BIG PROBLEM.

@shapr @ross I'd respectfully suggest it's not a language problem but a programmer problem.

Folks create beautiful, expressive, new languages only to have "enterprise architects" come along and ignore all the language idioms in favor of cargo-culting the bloated design patterns they learned from Java.

This problem won't be solved by improving languages. It *might* be solved by improving programmers, but they'd need some sort of incentive.

… like, say, the threat of being replaced by AI?

@shapr @ross it’s not programming languages per se. Programmers are told to stop duplicating code, so they make a fixture that wraps the duplicated code but now they are drowning in configuration and parameters because all of the code they deduped was actually solving slightly different problems.
@unsaturated @shapr Yes, premature abstraction is a risk in any language. I'm more thinking about equals methods (Java), argument checks (various dynamic languages), nil checks (Go). The kinds of things that these languages are improving in themselves: Java's record types, Python's type hints, Go's, uh, well, two out of three ain't bad.

@ross yep, but then people don't like when I say "you're doing it wrong" or "your language is bad and you should feel bad".

Obviously I'm not saying that, but that's what they hear.

@ross And even that has been solved decades ago via templates/snippets. ;-)

@ross Yes. Most use cases for LLMs in programming mean that sufficiently similar (if not close to identical) problems have been solved so often that they're in the training corpus.

LLMs plaster that over rather than addressing the actual issue.

@ross you put so succinctly that which i wasted many words on and yet was still misunderstood https://mastodon.gamedev.place/@lritter/114607583135578164
Leonard Ritter (@lritter@mastodon.gamedev.place)

@rich the shit we programmers have to deal with today - most of it is completely unnecessary. the fact that novices rely on LLMs to give them a direction does not reflect well on our profession. it suggests that we have been slacking when it comes to simplifying the ideas of programming, and we have accrued what i would call "design debt".

Gamedev Mastodon
@ross it is both. boilerplate is an undesirable thing but the cure (more abstraction layers) can be worse than the ailment. it is unrealistic to expect no boilerplate at all in a practical system
@ross so for me it started with thinking it could automate generation of boilerplate, but now it’s basically autocomplete taken to another level.
I understand folks don’t like them but that doesn’t change that it saves me hours every day.
Something materially changed in the quality of the LLM’s around last December and now they are very useful.