I mean, I'm proud of my low-level skills too but this is some Fabrice Bellard level sorcery. Very, very few humans are able to do this without AI tools.
- is it understandable
- is it maintainable
- how much work is adding new features
- is it written in a way that adding new features means rewriting a lot of it
- is it written in a consistent style
- and lots of other things
I use AI to write a lot of my code, but the only time it's clearly "better" than a competent human is for one-off things.
That being said - AI + human is, without any doubt in my mind, better than either one alone.
Human+AI systems is a good match. Like Human+docs or Human+encyclopedia.
Yes you can ask the agent anything about it and interrogate it until you understand.
- is it maintainable
Yes it’s easy to ask the ai to add new features or to refactor it entirely.
- how much work is adding new features
Depends, it could just be one prompt, it’s usually many prompts. If the refactor is large it can take weeks. But before AI something g equivalent would take months.
- is it written in a way that adding new features means rewriting a lot of it
Usually no, but that depends on how well the agent is being directed and what the features are. If you come up with a feature that requires a new architecture, ai makes it doable rather than saying “would be nice but we’d also have to implement this whole new architecture and that’s a lot of work”
- is it written in a consistent style
Styles can be applied mechanically with linters and formatters, so as much as any codebase written by multiple people.
> Styles can be applied mechanically with linters and formatters, so as much as any codebase written by multiple people.
I'm talking more of a higher level than this - more of coding/design patterns that are common for the team.
I see it be wrong about things all day every day. And yet, IME it's correct enough for it to be controllable. It doesn't have to hold up all of the time, it just has to respond to corrections when they're issued in a loop so that it converges to a correct solution. And it does, despite the mistakes.
In one of my other posts in this thread I detail some of the the ways it's confounded me, but those issues have caused me to harden validation mechanisms rather than say "this thing makes mistakes so I can't use it to write software".
> I'm talking more of a higher level than this - more of coding/design patterns that are common for the team.
Do you have a concrete example?
If we humans are just doing code style checks, file organizing and doc cleanups I feel we have demoted ourselves to code janitors. This is neither fun nor going to last.
Personally I've always strived for minimalism, to find the smallest, fastest, simplest solution possible so I'm pretty jaded now, too...
It did not work properly on Wine nor Windows 10, that was the entire reason for trying it out.
[1]: https://www.pcgamingwiki.com/wiki/The_Settlers_IV
[2]: https://github.com/elishacloud/dxwrapper/wiki/The-Settlers-I...