Somehow this article explains perfectly, visually, how AI generated code differs from human generated code as well.

You see the exact same patterns. AI uses more code to accomplish the same thing, less efficiently.

I'm not even an AI hater. It's just a fact.

The human then has to go through and cleanup that code if you want to deliver a high-quality product.

Similarly, you can slap that AI generated 3D model right into your game engine, with its terrible topology and have it perform "ok". As you add more of these terrible models, you end up with crap performance but who cares, you delivered the game on-time right? A human can then go and slave away fixing the terrible topology and textures and take longer than they would have if the object had been modeled correctly to begin with.

The comparison of edge-loops to "high quality code" is also one that I mentally draw. High quality code can be a joy to extend and build upon.

Low quality code is like the dense mesh pictured. You have a million cross interactions and side-effects. Half the time it's easier to gut the whole thing and build a better system.

Again, I use AI models daily but AI for tools is different from AI for large products. The large products will demand the bulk of your time constantly refactoring and cleaning the code (with AI as well) -- such that you lose nearly all of the perceived speed enhancements.

That is, if you care about a high quality codebase and product...

"High-quality code can be a joy to extend and build upon." I love the analogy here. It is a perfect parallel to how a good 3D model is a delight to extend. Some of the better modelers we've worked with return a model that is so incredibly lightweight, easily modifiable, and looks like the real thing that I am amazed each time.

The good thing about 3D slop vs. code slop is that it is so much easier to spot at first glance. A sloppy model immediately looks sloppy to nearly any untrained eye. But on closer look at the mesh, UVs, and texture, a trained eye is able to spot just how sloppy it truly is. Whereas with code, the untrained eye will have no idea how bad that code truly is. And as we all know now, this is creating an insane amount of security vulnerabilities in production.

> Similarly, you can slap that AI generated 3D model right into your game engine, with its terrible topology and have it perform "ok".

You can't, because NVidia is selling all their chips to "AI" and you don't have any chips left to run the "AI" generated models on.

But what business value does high quality code bring? /s

Maintainability, which in the long run is more expensive in market opportunity costs than anybody admits.

We will get an interesting effect if AI plateaus around where it does now, which is that AI code generation will bring "the long run" right down to "the medium run" if not on to the longer side of the short run. AI can take out technical debt an order of magnitude faster than human developers, easily, and I'm still waiting for it to recognize that an abstraction is necessary and invest into putting on in the code rather than spending the ones already present.

Of course if AI continues to proceed forward and we get to the point where the AIs can do that then they really will be able to craft vast code bases at speeds we could never keep up with on our own. However, I'm not particularly convinced LLMs are going to advance past this particular point, to a large degree because their training data contains so much of this slop approach to coding. Someone's going to have to come up with the next iteration of AI tech, I think.

I wonder about heavy curation of data sets, and then only senior level developers in the Alignment/RLHF phases, such that the expertise of a senior level developer were the training. The psychology of those senior level developers would be interesting, because they would knowingly be putting huge numbers of their peers, globally, out of work. I wonder about if it would, then if course it will, and then I question if we're really that desperate.

I'm not so sure about that. All major software companies have enjoyed exponentially rising profits alongside steadily declining quality.

While at the same other companies have built entire business lines around fixing shit code(probably with more of the same though).

Which companies?

Until it breaks and can no longer be fixed because it is now all inscrutable spaghetti.

debt doesn't harm you until the carrying costs become to high v profits. Just have to hit that point (if is exists, maybe growth accelerates forever if you are optimistic).

If you only knew how the enterprise space does stuff you'd realize how little a priority maintainability is.

I'm grateful we had Java when this stuff was taking off; if any enterprise applications were written in anything else available at the time (like C/C++) we'd all suffer even more memory leaks, security vulnerabilities, and data breaches than we do now.

Now that's interesting, because I come from a world where enterprise level stuff was all done in C/C++ until quite recently, and with the shift to :web technologies" the quality of virtually everything has dropped through the floor, including the knowledge and skill level of the developers working on the tech. It is rare that I see people that have been working in excess of 10 years post graduation, if they went to college. The college grads have been pushed out by lower quality and lower skilled React developers that really do not belong in the industry at all. It's really a crime how low things have gotten, in such a short time: 10 to 15 years ago there were 2-3 decades of experienced people all over the place. Not anymore.