top | item 39168436

(no title)

ryanmcgarvey | 2 years ago

Maybe it's worth reevaluating our definition of quality?

In a world where AI can read our codebase, ingest a prompt, and quickly output "correct" if not clean and concise code, and then be able to iterate on code with more prompt, do we need all the same patterns we used to adopt when humans were painstakingly writing every line of code?

This reminds of of the CISC to RISC migration - now that computers are in the loop writing the tedious parts, we don't need to burden our codebase with patterns meant to relieve humans from the tedium.

I find myself, for instance, writing more long form, boring configuration files that once upon a time I would have built some abstraction reduce the boilerplate and verbosity. But now that co-pilot can just auto-complete the next section for me, why bother?

discuss

order

arp242|2 years ago

> In a world where AI can read our codebase, ingest a prompt, and quickly output "correct" if not clean and concise code, and then be able to iterate on code with more prompt, do we need all the same patterns we used to adopt when humans were painstakingly writing every line of code?

That world does not exist, so currently this line of thinking is academic.

Perhaps it will exist in the future, but it's far from a certainty if that will come to pass, and unclear on what kind of time-frame. Personally I'm quite skeptical any of us will see it within our lifetimes.

patrickmay|2 years ago

Patterns aren't intended to "relieve humans from the tedium," they're to make the code more intelligible. Code generators create notoriously difficult to understand code. Apparently the current crop of LLMs are no better in that regard.

> find myself, for instance, writing more long form, boring configuration files that once upon a time I would have built some abstraction reduce the boilerplate and verbosity. But now that co-pilot can just auto-complete the next section for me, why bother?

Again, so humans can understand it more easily.

IlliOnato|2 years ago

The real issue is not writing the code, but debugging it. The patterns exist to make the code readable, debuggable, and thus maintainable. "Don't repeat yourself" is not to save you typing, it's to be able to fix a bug once, rather than hunting through all the code for similar instances and fixing each one, introducing new errors. If you hope that with enough prompts AI will find and fix its own bugs, I think your level of optimism is enviable :-)