Live data from Hacker News

Ask HN: Are LLMs useful or harmful when learning to program?

news.ycombinator.com

11–20 of 21 posts

Re: Ask HN: Are LLMs useful or harmful when learning to program?

#12
Someone new to woodworking might not realize a tape measure has a couple modes of operation and if you use it wrong can be off by 1/8". So AI is like a tape measure that could be wrong 50% of the time, depending. You'll need to ask AI to explain itself and validate its own answers. Then if you're new to programming you should independently also be learning things.

Re: Ask HN: Are LLMs useful or harmful when learning to program?

#13
They can be useful, though you have to use them carefully.

For instance, one of the best ways I've found to learn a new language or framework or technique is to find a working example of something, then take it apart piece by piece to see how it all fits together. LLMs can work really well here. They can give you a super basic example of how something works, as well as an explanation you can use as a jumping off point for further research.

And those basic examples can be surprisingly hard to find elsewhere. A lot of open source systems are designed for people with no programming knowledge whatsoever, and in a way that they can handle 52 million possible use cases with all the caveats that brings along. So when you're trying to learn from them, you end up having to untangle hundreds of conditions and feature flags and config options and other things designed for use cases you simply don't have. LLMs can provide a simple, customised example that avoids that.

That said, you have to be willing to try things yourself, and put in the effort needed to figure out why the code the LLM returned does what it does, and how it works on a technical level. If you're just throwing problems at the tool and letting them do all the work (like many vibe coders now), you're not really learning anything.

Re: Ask HN: Are LLMs useful or harmful when learning to program?

#16
LLMs will give you what you ask.

Case in point I asked LLM to generate some code for me. It didn’t use generics (a language feature) and gave me some shit code.

I had to prompt it several more times to give me generic code with better typings.

I think it would be helpful for a total nooblet to get a hang of the basics but I think if they rely on the LLM too much beyond a certain point they will face diminishing returns.

Think about it. There is so much knowledge in the world. Anyone can do anything to a satisfactory degree pretty quickly. But to really understand something takes experience and self-discovery. And I’m not speaking about master. Just expertise.

Re: Ask HN: Are LLMs useful or harmful when learning to program?

#17
i would say depends. If you use it for writing the code, I will say yes. If you instead use it to discus how to aproach the problem I would say "no/not sure". One of the best ways to become a good developer is to learn from the code we write. On the other hand we also often need someone to speak with about the code we write or plan on writing. I think the best cause of action is that you write the code and then use LLM as a reviewer and someone to talk about writing code with.

Re: Ask HN: Are LLMs useful or harmful when learning to program?

#19
It is undeniably useful, and people who are denying this have no recollection of what it was like to learn to program for the first time. Anything that helps you surmount the brick wall difficulty curve of that first programming language is a godsend, and I can tell you this from having seen real motivated undergraduates in action during their CS degrees.

Re: Ask HN: Are LLMs useful or harmful when learning to program?

#20
post #18

Don't use LLM while you're learning. Don't outsource your thinking to a third party. Period.

I agree. This is similar to our recommendation while learning math. You must do some[1] calculations and problem solving by hand alone, with some minimal help when you are stuck. And only then, use coworkers, wolfram alpha or AI to handle part of the job.

[1] Both extremes are bad. Two integrals are too few. A million are too many.

Post reply on HN