logoalt Hacker News

Insanitytoday at 3:17 PM1 replyview on HN

We're at an interesting time for programming language development. Typically, newer features made the developer experience better. Either a faster way of doing something, it being safer, or easier to read/understand. But if GenAI models end up writing most of your code, there's only marginal gain ('easier to understand'). Yet understanding comes from using the features, so if GenAI were to write code using new features, you might not even get that benefit anymore as _you_ don't understand them well enough.

However, there's a larger problem lurking here. GenAI models code based on what's represented in their training data. New language features are (mostly) absent from that. And if more and more slop is pushed to Github, that slop isn't using the new features either. Which ultimately results in fewer new language features seeing widespread adoption.

Maybe I'm too pessimistic, but I think it's a somewhat dark time for PL development. And to quote the article, I can't prove it matters..


Replies

martinaldtoday at 3:29 PM

I don't think that's inevitable with RL.

Imagine in C# you are training the model with RL loops in a harness. One uses C#12 and one uses C#15 (when released), with union types (and importantly - includes the release notes in the harness). Union types if used properly will reduce the amount of bugs/issues in theory from "forgetting" about certain conditions, because the compiler will enforce that better.

In theory, the one with union types will "win" (less errors/fewer edits required) in certain conditions, which makes it more likely to be used going forward.

Basically I think it looks less about 'ingest lots of slop' but 'how do we give our RL harnesses the best possible tools and documentation to make the best* code'. I think this is exactly what good engineering teams do.

For example, if I put 'use C#15 union types' in my CLAUDE.md/AGENTS.md on a .net11 preview project, it is very good at using them when required. It doesn't take much instruction for an agent to use new language features.

_However_ what it does do is change the language feature adoption from 'many developers' to 'eval writers and people that put features into CLAUDE.md'. This obviously changes things massively - though I sort of suspect very few developers _actually_ adopt new language features quickly.

Final thought is that I think we may see a lot of different features being adopted. Instead of what makes code readable to humans, what makes code better on evals. I sort of suspect we'll end up with some Frankenstein language in the future that is difficult for humans to write but agents can write extremely well, with esoteric language features that no (sane) human would think to use.