this post was submitted on 16 Feb 2024
20 points (91.7% liked)
CSCareerQuestions
950 readers
1 users here now
A community to ask questions about the tech industry!
Rules/Guidelines
- Follow the programming.dev site rules
- Please only post questions here, not articles to avoid the discussion being about the article instead of the question
Related Communities
- !programming@programming.dev - a general programming community
- !no_stupid_questions@programming.dev - general question community
- !ask_experienced_devs@programming.dev - for questions targeted towards experienced developers
Credits
Icon base by Skoll under CC BY 3.0 with modifications to add a gradient
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It really does need to be stated that AI code completion is indeed NOT a learning tool. It’s an accelerated “copy/paste code from stack overflow” tool. Useful in its own right if you just want some rough code fast, but it’s not going to teach you anything. There is no easy way out of having to deeply understand code. It’s your job as a programmer.
I feel like this is a bad binary. It’s more shades of grey. As an experienced programmer, code completion, like Intellisense and bash tab completion, accelerates my ability to do new things. I can pick up a new language and be productive faster than when I had to buy a book and look up syntax or later Google syntax. I am learning because I have something roughed out and compiling that I can then pull apart and understand. When I was a kid learning Perl for CGI I just copied code from books and learned a lot by trying to put different pieces together. It usually didn’t work and that led me to learn more about how Perl worked. Code generation gets the big picture done and knocks out tests really well, allowing me to focus on learning the things I really want to learn, like how I should be optimizing my data structures.
I think we can all agree that if you just blindly tab complete Copilot suggestions you won’t learn anything. Your code also won’t run.