Remix.run Logo
nasretdinov 6 hours ago

LLMs are scarily good at translation, whether between natural or between programming languages. Also very good at re-implementing the stuff that has been provably done before. And, arguably, 90-95% of writing code is exactly that.

mechazawa 6 hours ago | parent | next [-]

In my experience they still struggle a lot though. They're great at 1 to 1 translations but they will fight the target language to get there tho. A lot of the rust rewrites I've seen done by AI contain a lot of patterns that any rust dev worth it's salt will scoff at.

nasretdinov 5 hours ago | parent [-]

Yes -- the bigger the difference between languages the worse they perform. However I'm not really expecting e.g. Claude to be able to port sync.Map from Go to Rust, because sync.Map relies on GC to do the hard work of cleaning up references to values no longer used by any goroutine :).

But in porting, e.g. from PHP to Go they're crazy good at, doing a much better job than any simplistic machine translation ever could

tyingq 6 hours ago | parent | prev [-]

I'm no expert, but it feels like this exact thing is how it ends up eating itself. For two reasons.

- Eventually the universe of "provably done before" is now mostly LLM genned code. So the training data quality starts a slow decline.

- That it's "good enough" now for 90+% of the work kills the pipeline for any new human software experts. So they never gain the experience and insight to be able to steer the AI to produce ok-ish code. Existing experts age out. This cycles with the bullet above over time. And at some point we're stalled, all code is now mediocre at best and while output is high, innovation/evolution is low. Or whatever innovation we have is coming from a very small circle without much natural competition.

nasretdinov 6 hours ago | parent [-]

IMO that's precisely why software engineering is going to become even harder than it is right now -- all the "easy" stuff is semi-automated, so now you have to spend even more time and energy "drawing the rest of an owl" so to speak, doing the hard 10% yourself. And unless anything drastic happens in LLM development this last 10% isn't going to be automated away any time soon.