> When AI-coding, you should take YAGNI to its extreme. This is for two reasons:
> 1. AI coding makes it absolutely trivial to add new features later on if you do need it.
When I do programming, I often think deeply about the features and abstractions that I need to get them right.
If I need an additional feature, it thus often means that I deeply misunderstood the problem domain (which does happen), so the changes that are necessary for adding new features in the code are often deep and mean "seeing the world with new eyes (that can also see infrared or ultraviolet light)". A little bit like going from the universal algebra definition of a group to group objects in a braided monoidal category (which, for example, show that there is a deep abstract relationship between groups and Hopf algebras; see for example [2]).
I really cannot imagine how an AI can be capable of doing such deep transformations, which basically mean "rebuild the whole program so that the entire source code is now based on a completely different thinking about the respective problem domain, which goes like this: ...".
> 1. AI coding makes it absolutely trivial to add new features later on if you do need it.
I have to refute this. It may make it easier or faster...but definitely not trivial. I had it add a new feature to my simple app, and the way it did it worked, it just fetched the entire list of entities for each entity in a list. Why it didn't create a new endpoint for "get entity" or just cache the whole list then do lisp) local lookup, I don't know...but it absolutely wrecked performance.
> 1. AI coding makes it absolutely trivial to add new features later on if you do need it.
When I do programming, I often think deeply about the features and abstractions that I need to get them right.
If I need an additional feature, it thus often means that I deeply misunderstood the problem domain (which does happen), so the changes that are necessary for adding new features in the code are often deep and mean "seeing the world with new eyes (that can also see infrared or ultraviolet light)". A little bit like going from the universal algebra definition of a group to group objects in a braided monoidal category (which, for example, show that there is a deep abstract relationship between groups and Hopf algebras; see for example [2]).
I really cannot imagine how an AI can be capable of doing such deep transformations, which basically mean "rebuild the whole program so that the entire source code is now based on a completely different thinking about the respective problem domain, which goes like this: ...".
[1] https://en.wikipedia.org/wiki/Group_object
[2] https://en.wikipedia.org/wiki/Hopf_algebra#Analogy_with_grou...