4 ms·
Why? I've been employed in the industry since 2017 and I love Copilot and ChatGPT. They make everything more convenient, especially repetitive code, and suggest
by jimmaswell 3y ago
Why? I've been employed in the industry since 2017 and I love Copilot and ChatGPT. They make everything more convenient, especially repetitive code, and suggest good new ideas sometimes. They've been a godsend for debugging, figuring out/generating command line options, setting things up like ftp servers with weird configs, etc. It's like we've gone from walking around on foot to figuring out horseback riding. I feel freshly inspired in my productivity since I've started using AI tools.
- ohthatsnotright 3y agoNot to mention, if you're able, you can paste in code to ChatGPT to give context and tell it to generate unit tests. I've found it does a generally good outline of code that annoys me to write, and then I can tweak the cases and add more as I need. Makes a chore I dislike much, much easier.
- JohnFen 3y agoBut writing my own unit tests and code outlines, as annoying as they are, make me a better programmer and let me produce better code. I can't tell you how many times the act of writing unit tests -- just writing them, not even running them -- has given me an important insight into the code that I would have missed otherwise. Using tools to do these things for me means that my skills and abilities will suffer.
- jimmaswell 3y agoI make great use copilot for test cases now. I still think through what I'm trying to do and start writing it, but as I go along copilot will tend to write what I had in mind anyway and complete 20 lines of the likes of `assertEquals("overriden address 1", model.getAddress1());` before I can blink. I'll also often enough be caught offguard by some strange output and realize it's because I did something wrong, so I catch the problem much sooner.
- JohnFen 3y agoSince 2017? You're still wet behind the ears! It tells me I need to get out because it represents a shift to a higher level of abstraction in programming. In the ideal I hear expressed, instead of programming you'd be just describing the code you want and letting someone/thing else do it for you. That's management, not programming. I want to program. Understand that I'm not even saying there's anything wrong with that. It's just that it indicates that the things that I enjoy about being a programmer are the things that are being optimized away.
- 908B64B197 3y ago> It tells me I need to get out because it represents a shift to a higher level of abstraction in programming. In the ideal I hear expressed, instead of programming you'd be just describing the code you want and letting someone/thing else do it for you. To me, LLMs are just "advanced" (read: statistical) codegen, unlike compilers and interpreters that are deterministic (should generate functionally equivalent code). But there's as much novelty there as there was when the C compiler or LISP repl was introduced.
- JohnFen 3y ago> To me, LLMs are just "advanced" (read: statistical) codegen, unlike compilers and interpreters that are deterministic That's fair, although I would disagree with the notion that compilers are code generators. But using code generators is not something that is interesting to me even a little. They remove much of what interests me about programming. So your explanation -- while it makes sense and I wouldn't argue that you should feel any differently -- underlines that I need to get out of this industry.
- tracker1 3y agoI'm somewhat mixed. From what I've used, for relatively high level boilerplate code, the stuff I hate, it's okay with. For anything more complex, there are a lot of mistakes, and you still have to understand the technical and the domain to spot the mistakes. I think it will be all that much harder to become skilled as AI generated code becomes more common, because fewer relatively speaking, developers will be able to spot said errors and correct for them. It's hard enough to keep up with PR reviews of a half dozen developers while doing my own work now. Hard to imagine that with 3-4x the output.