← Back to context

Comment by juliangmp

2 days ago

I feel like we need to heavily differentiate between a rewrite and an AI rewrite.

For instance, the TypeScript rewrite in Go was done mostly by humans and took a year before it was released. That is how you rewrite software that people can trust.

  • > mostly by humans

    `mostly` is doing a lot lifting here. The Go rewrite uses plenty of copilot. The reason you trust it is because you trust the people doing the rewrite.

  • Many projects that were done by humans and took a year can certainly not be trusted.

  • AI is a great use for this kind of boring, rote translation where precision is important. Humans are quite bad at it and tend to make mistakes. In either case the focus should be on improving testing, not trying to manually verify if the translation was correct by eye.

    • I have an issue with the precision of generated code.

      LLMs sometimes confidently leave things out or they will overbuild.

      I use them all the time but mistakes happen. It's not exactly a scalpel, more like a sledge hammer.

    • With programs large enough tests aren't going to ever be enough. Formal verification might work, but then who checks the specification for bugs?

      6 replies →

    • If precision is important then non deterministic AI is simply not a good tool.

Not sure it’s so simple. I think close to 100% of new ambitious projects are going to leverage AI at least to some degree. I know a couple that have strict no-AI policies (e.g. Zig), but it’s a tiny minority i think.

So how much AI usage does it make it an “AI rewrite”?

  • Dunno. I got rather the impression that it's ambitious single-developer projects with no intention of maintenance which leverage those 'AI' code generators the most.

    Who wants to contribute to an unmaintainable code base?

  • > I think close to 100% of new ambitious projects are going to leverage AI at least to some degree.

    Once the free money dries up that number will rapidly tend towards 0%.

    > So how much AI usage does it make it an “AI rewrite”?

    Any amount.

A human rewrite without maintenance is just a hobby project. An AI rewrite is just wasting tokens for god knows what?

rewrites feel like an area where LLMs are better suited than humans imo

It’s mostly grunt work and LLMs are well suited for translation tasks (iirc transformers arch was originally invented for translation)

I agree but I think from Bun we learned that a project with really good tests and enough tokens can be converted from one language to another quite good!

It is more and more the future. No human would want to rewrite one technology to another because it is too marginal a gain. AI on the other hand does not give a shit.

  • You underestimate what people are willing to do just for fun.

    • Yeah like what do they think the people porting doom to everything possible are thinking?

  • > No human would want to rewrite one technology to another

    Except for when they do, like the new TypeScript...

    • That was before good end to end models though, they started it in 2024 where it was in 2025 that models were capable of long term continuous work.

I'd %100 prefer an opus 4.8 rewrite over %99 of the time. Unless Fabrice Bellard is rewriting the stuff I need, I'd prefer AI over a human coder.

  • AI is an average coder.

    It was trained on all code the code that could be found.

    Not just code written by genius programmers like Carmack and Bellard.

    Given that it's average, I'd prefer a human coder above average :)

    • I dont think Opus 4.8 is an average coder, with my own experience (I have coded 20 + years before even llms existed) it is anything but average. I don't think training data alone determines the success of these models, there are lots of reinforncement learning principles and fine tuning takes place, a crappy code in the dataset doesnt hold those llms scoring high in benchmarks, I dont think an average programmer can score 70% (opus 4.8) in SWE Bench Pro, which is a good one.

      2 replies →

    • LLMs learn a distribution during pre-training, not only an average.

      Then, by giving them context or by post-training, you can make them sample non-average parts of the distribution they learned.

      5 replies →

    • Which you will necessarily have if they’ve completed a Rust rewrite.

    • That is not how it works. IF it was condemned to be average models wouldn't be constantly improving, given that humans aren't getting better.

    • You haven't been using AI extensively I presume...

      I've been programming a long time and considered myself among the top in my domain and AI agents using like GPT 5.5 etc. are much better than me.

      2 replies →

Is there any measurable difference in quality between the two, or are you just going on "vibes"? Is there a correlation between the quality of the manually written code and AI generated code driven by the same dev?

Such crude takes only cause unnecessary friction. If you have a black box that spits out code, and you are unable to distinguish the quality between a top tier dev and an AI inside the black box, then the distinction is unnecessary. Most of the code on the internet is already a black box to you. What percentage of code running on your machines have you vetted by who wrote it and code quality?

AI coding isn't going anywhere and will likely end up generating most code going forward so instead of rejecting it outright or arbitrarily categorizing it we need to focus on solid quantitative and qualitative measures of code and functionality regardless of who wrote it.

  • Didn't the initial rewrite of Bun into Rust have an ocean of "unsafe" in it, and wasn't it entirely dysfunctional?

  • > Is there a correlation between the quality of the manually written code and AI generated code driven by the same dev?

    If the dev doesn't vet the code, it doesn't matter how good quality a dev they would be if they wrote the code - they didn't. Sure, the dev would probably drive the initial architecture discussion better and some people are using AI in small batches with tests and vetting everything, but some previously great devs are throwing in PRs that touch hundreds of files at once with one commit.

    A lot of people I previously considered great developers have become people I would not recommend for a job in the past 2-3 years.

    > If you have a black box that spits out code, and you are unable to distinguish the quality between a top tier dev and an AI inside the black box, then the distinction is unnecessary.

    Sure, but this is just begging the question. If nobody could tell, the term 'slop' wouldn't have become so popular.

    • You must be replying to a different comment. Seems completely unrelated to what I wrote. I never claimed that there wasn't AI slop. My point is that there are different levels of code coming out of AI, both due to the quality of the model and harness, and the quality of the engineer that is driving it. Thus you can't just bucket all AI developed code the same.

      100% there is slop created by humans and really solid code bases generated by AI driven by a meticulous developer. You are making the exact error I was addressing, which is bucketing all AI code as the same.

      3 replies →

  • > Is there a correlation between the quality of the manually written code and AI generated code driven by the same dev?

    Aren't you making a strawman argument ? AFAIK this project is not made by an official PostgreSQL core developer, so the entire premise of your argument is invalid.

    • I phrased that improperly which made you and probably others misunderstand. What I meant is, is the quality of AI generated code correlated with the developer? The answer is yes, a bad dev will absolutely produce worse code using AI than a good developer - the point being that there isn't just one level of quality of code coming out of AI, even with the same model and harness.