upvote
I actually read the frontend code much more than the backend code for the project I'm working on.

Backend code I'm fairly comfortable if the tests are good that it works correctly. It's a much more constrained environment. Obviously there can be things like performance issues that creep in or problems when it mocks too much of the environment.

Meanwhile frontend code I have to consider different browsers, screen sizes, a11y issues, and so on, which agents can certainly do but you have to be fairly explicit about it, and they don't always make the best tradeoffs.

reply
It's looking increasingly likely that many backend systems in the future will just be formally verified and generated autonomously from specs. That means you'd never look at the code, only the spec. You'd basically "program" and "debug" the spec, and the full system would be autonomously generated each time to match the spec.

Frontend code is probably far harder to apply this technique to.

reply
Which project did you work on that made specs that good? I sure haven’t (but I am sure they exist).
reply
In one case I formalized the spec for a message decoder, then autonomously generated the entire decoder from that. The spec is essentially a very slow version of the decoder written for correctness and clarity, and the implementation became very complex as it went through multiple optimizations, but it was proved every step of the way to match the original spec.
reply
What project is closest to doing this today?
reply
> You'd basically "program" and "debug" the spec

Sweet, we could even develop a standard language(s) to lay out such specs, and write in specialised text editors that would help with debugging. Hell we could even call it ‘programming’

reply
Correct -- this is exactly where the frontier is heading at the startups and AI labs working on this.

While you're being tongue in cheek, what you're missing is that the spec you'd be working on in some cases can be compressed to a small fraction the size of the implementation code. Alternatively, it can be written for clarity and correctness rather than performance, and then the implementation can be optimized like crazy without ever worrying about correctness.

reply