Comment by beej71

Comment by beej71 19 hours ago

4 replies

It's not so much that, although I'd argue that LLMs can certainly teach you some bad habits from time to time, much more so than Deep Blue ever would.

Rather, it's because early on, when beginners are learning the basics, they need to do the hard work of figuring stuff out so they develop problem-solving skills. It's not the code-writing skills they need to develop--that's easy. It's the problem-solving skills.

If I could figure out a way to grade on effort rather than correctness, I'd do that every time. Bust your ass and get a program 80% working and learn a ton doing it? You get an A. Spend 2 minutes copying ChatGPT output of a perfectly-working solution? F.

The effort is where you build the skill. And the skill is critical problem-solving. Having someone (or something) else do that work does not improve your skill.

Now, eventually, when you get to be better than the AI (and it's not hard to do that), stuff that you find easy is not longer beneficial to your learning. I've implemented linked lists a hundred times by now; I no longer learn anything from doing it. When you're that experienced with a subtopic, then sure, get ChatGPT to write it, and you verify it.

Going back to the weight lifting analogy, once you've been lifting the 2 kg weights for a while, you're not going to get much out of it. At that point, if the 2 kg weight must be lifted because it's part of your job description, have your robot do it. Meanwhile, you go on to the 4 kg weights and build muscle.

jhatemyjob 14 hours ago

Maybe we crossed the Rubicon and there's too much opportunity cost to learn how to implement the fundamental DS&A. Instead of memorizing the ~10 lines of code for binary search, memorize the words "binary search". Thanks to the C compiler, we don't have to remember to push our registers and then jump to the subroutine. I think LLMs provide similar benefits. It frees your headspace for other stuff.

The analogy isn't perfect since a compiler will error if it can't create valid output. LLMs hallucinate. But still. Time is limited. I don't think it's a good idea to spend your formative years learning how to manage registers.

  • venturecruelty 5 hours ago

    We don't tell chemists they shouldn't spend their formative years learning how to manage electron orbitals. You need to understand the fundamentals of how a computer works, or else you get people who write software with the wrong mental model of the machine (namely, that it's some sort of inscrutable, magic black box). Learning the fundamentals of the machine teaches you that is not, in fact, magic at all, it's just a lot of simple circuits built on top of each other, providing what we know as computation. Will you sling bits in assembly all day at your job? Probably not, but that knowledge is invaluable to being a better programmer.

    We make surgeons learn anatomy. We make hardware engineers learn physics. I think we can expect programmers to learn how computers work.

    • [removed] 4 hours ago
      [deleted]