Let me post what to some will be a contrarian opinion on LLMs writing code. In short: maybe it’s not nearly as bad an idea as some (many? most?) of the people I follow think that it is. Note carefully: I’m not discussing prose, art, debugging, the ethics or legality of scraping, or anything else but writing code.
I’ve been through several revolutions in programming over the last 60+ years, and yes, I’ve been programming that long. Every time, what was once a controversial and revolutionary idea became mainstream.
I remember the debates about goto-less programming: “You have to have goto; your code will be inefficient without it.” I literally do not remember the last time I wrote code with one, even when using C.
I remember the move to high-level languages: “they’re too inefficient!” I think that I last worked seriously with assembler language around 1982, when I was doing compiler stuff. The best I can do is to quote Dennis Ritchie in his Unix Retrospective (BSTJ July-August 1978: www.nokia.com/bell-labs/about/dennis-m-ritchie/retroindex.html): “The above guesses of space and time inflation for C programs are not based on any comprehensive study. Although such a study might be interesting ,it would be somewhat irrelevant, in that no matter what the results turned out to be, they would not cause us to start writing assembly language. The operating system and the important programs that run under it are acceptably efficient as they are.”
Object-oriented programming. Memory-safe languages. The list goes on.
Several people I know, ranging from academics to senior developers, find LLMs to be extremely useful. (Aside: one developer noted that he was able to use such tools far more effectively than his junior colleagues—but if we eliminate junior positions in favor of LLMs, how will we grow senior people?) Yes, today they require too much power and too many giant data centers and produce convoluted, often unmaintainable code. Early optimizing compilers did strange and wondrous things, too. (Circa 1969, speaking to me of IBM’s optimizing FORTRAN compiler, someone muttered to me “there are three levels of optimization—and they’re all buggy!”)
I don’t know what the right answer is—and since I write essentially zero code these days, it probably doesn’t matter as much to me personally. But I’m very curious how this will play out in five years. I don’t think that the answer is obvious, even apart from the obvious delusions of upper management at many companies and what is sure looking like an AI bubble. All I suggest is keeping an open mind.
P.S. If you must reply, say something thoughtful, not just a knee-jerk reaction that I’m wrong (or right!) even to wonder.