3 ms·
For the same reason giving a 5 year old a calculator to "learn" addition doesn't teach them math. You still need to know why shit works in order to use it in a
by danjoredd 3y ago
For the same reason giving a 5 year old a calculator to "learn" addition doesn't teach them math. You still need to know why shit works in order to use it in a fully educated way. Otherwise you are just "putting magic words into the text editor" and your code will be held together with bailing wire and chewing gum.
For day-to-day use, as long as you know what the code is doing when you run it, its fine. But to get to the point where you understand what the code is doing, you have to have written code manually.
- tmtvl 3y ago> For day-to-day use, as long as you know what the code is doing when you run it, its fine. I think that'd exclude most Python, Ruby, Java, JS, Haskell,... developers. Heck, it'd even exclude a bunch of C developers who don't appreciate the fact they're not working on a PDP-11.
- danjoredd 3y agoIncorrect. While you might not understand the lower level systems, as long as you understand the logic of it you are good to go. Just plopping in code from ChatGPT or even Stack Overflow without vetting it is a dangerous game. You have to know what the code does before using it, or else the likelihood of introducing security vulnerabilities and bugs goes WAY up.
- drdaeman 3y ago> 5 year old a calculator to "learn" addition doesn't teach them math Yes, using machines to give an answer, without providing any explanations of the process is not learning. One cannot generally give a young kid a calculator and expect them to learn how adder in the calculator's ALU works. However, using machines to get an answer that you know how to get to is beneficial. No learning is involved in either process, and it saves time. So if you give a kid, who already knows well how to perform addition, understands the principles, and knows the properties, a calculator to quickly get through their homework, it merely saves their time. You know, just like most people don't exactly like to write boilerplate code that they can type in their sleep. And using machines that can provide explanations how they got to the answer then reading it is learning. And learning by example could be powerful in certain situations - e.g. when one already knows some stuff, but needs some hints how to apply it to a different problem. Surely, just asking the machine to solve a puzzle is unlikely to get one anywhere. Asking the machine to guide towards a solution might be very beneficial (if it manages to get things right, of course).
- rafaelmn 3y ago> Otherwise you are just "putting magic words into the text editor" and your code will be held together with bailing wire and chewing gum. That's just abstraction ? We're constantly dealing with legacy abstractions built 30-40+ years ago when we had fundamentally different constraints from today. Leaky abstractions are a fact of life and there's only so much you can reliably know about the stack. My problem with learning with LLMs is how bad they are at the moment - people are betting big that they will eventually get better - but so far I'm only seeing scaling walls and negative cost/benefit footed by big tech $$$.
- reidjs 3y agoI’m not a 5 year old, I’m an old guy who has a job to finish. That said, it depends what you want to get out of AoC. for me, the prize is to learn something by solving the puzzles, so I probably wouldn’t plug the problem statement into the llm directly
- golergka 3y agoI have been coding for almost 30 years now, and when I'm going to compete in Advent of Code I'm going to explicitly try and use AI tools because that's the new skills I need to train now.