3 ms·
Modern software quality, or why using language models for programming is bad
- PaulHoule 2y agoMy take on LLMs is that they do good for "linear" cases where they don't need to understand parts that combine in a complex way, but they often do well in other cases. I frequently ask LLMs to write 1 line or maybe 3 lines of code as a substitute to looking up answers in the manual, I don't have any expectations that they're going to more than that because instead of "writing 50 lines of code" I need to "write 50 lines of code that will fit perfectly with another 500 lines of code" or "make a surgical change to 500 lines of code" and LLMs don't really do that, often I can't even fit enough context in to think it's even imaginable that it could do so. The other day I wanted a quick DOSKEY macro for CMD.EXE that would check out something from git given the url and switch it to a certain branch because I had about 20 projects to check out. I knew how to write something like that as a bash alias but I've done no real scripting with CMD.EXE. Copilot gave me a macro that almost worked with the very Windows mistake of using a "\" when it should have used a "/". There were things I didn't understand in the 1-liner so I asked about them and got good answers. That's a helpful way to use an LLM, but it would be problematic to expect it to solve leetcode problems that weren't in the training set or to use any code it writes without review and testing.