How I learned everything I know about programming

(agentultra.com)

16 points | by speckx 3 hours ago ago

13 comments

  • uriegas 9 minutes ago ago

    I think LLMs are helpful for understanding code. I used to spend like an hour trying to find where something very specific was made, and now I can just ask an LLM and it finds it right a way and is able to explain how the code works. This is probably the thing that has saved me most of the time.

    What is your take on LLMs for programming?

  • uriegas 12 minutes ago ago

    I agree with the point that learning requires work. In general, everything worth doing requires work. This is one of the things I often have to remind myself, otherwise I spend the whole day 'learning' and I just read a bunch of stuff online that I then forget, instead of trying something out which I actually will learn and understand.

  • kayo_20211030 an hour ago ago

    The section headed "A World Without People" is the most interesting. We all need someone to tell us we're wrong-headed every now and again. Simply because we often are, and that's perfectly fine.

  • self_awareness an hour ago ago

    > I don’t think you need LLMs to learn programming.

    Are we already in this state? That people can't do programming without LLMs?

    LLMs are not old at all. It's literally the newest thing, and we already need to convince ourselves that we can live without it?

  • wrs an hour ago ago

    "I don’t think you need LLMs to learn programming."

    What the... Are we already to the point where you have to say this to people?

    • GrowingSideways 8 minutes ago ago

      Yes. I work with teenagers and young adults teaching them how to program, both directly and as a support skill. These are bright young people who can work through problems with enough time—but LLMs allow them through these problems in a minute or two.

      I've taken, particularly in people learning programming as a support skill, to teaching them how to verify the solution rather than asking them to deal with hours of frustration while their peers don't bother. A tool is a tool, as sad as it makes me to say looking back on teaching myself how to code 20 years ago.

  • spogbiper an hour ago ago

    I'd like to think that we all learned everything we know about programming

    • IncreasePosts an hour ago ago

      The title makes more sense when you click on the link and read the actual first word in the title.

      • 8bitsrule 38 minutes ago ago

        Leading word 'How' is automatically removed by HN. In this case that was unhelpful ... like many thoughtless algorithmic actions.

  • macintux an hour ago ago

    "How" I learned everything...

  • fleahunter an hour ago ago

    The hidden assumption here is that "learning programming" means replicating the author’s path: deep curiosity, lots of time, comfort asking humans, decent reading stamina. For people who already have those traits, yeah, you absolutely don’t need LLMs. But that’s a bit like a strong reader in 1995 saying "you don’t need Google to learn anything, the library is enough" - technically true, but it misses what changes when friction drops.

    What LLMs do is collapse the activation energy. They don’t replace the hard work, they make it more likely you’ll start and keep going long enough for the hard work to kick in. The first 20 confusing hours are where most people bounce: you can’t even formulate a useful question for a human, you don’t know the right terms, and you feel dumb. A tool that will patiently respond to "uhh, why is this red squiggly under my thing" at 1am, 200 times in a row, is not a shortcut to mastery, it’s scaffolding to reach the point where genuine learning is even possible.

    The "you won’t retain it if an LLM explains it" argument is about how people use the tool, not what the tool is. You also don’t retain it if you copy-paste Stack Overflow, or skim blog posts until something compiles. People have been doing that long before GPT. The deep understanding still comes from struggle, debugging, building mental models. An LLM can either be a summarization crutch or a Socratic tutor that keeps pushing you one step past where you are, depending on how you interact with it.

    And "just talk to people" is good advice if you’re already inside the social graph of programmers, speak the language, and aren’t terrified of looking stupid. But the "nothing is sacred, everyone is eager to help" culture is unevenly distributed. For someone in the wrong geography, wrong time zone, wrong background, with no colleagues or meetups, LLMs are often the first non-judgmental contact with the field. Maybe after a few months of that, they’ll finally feel confident enough to show up in a Discord, or ask a maintainer a question.

    There’s no royal road, agreed. But historically we’ve underestimated how much of the "road" was actually just gate friction: social anxiety, jargon, bad docs, hostile forums. LLMs don’t magically install kung-fu in your brain, but they do quietly remove a lot of that friction. For some people, that’s the difference between "never starts" and "actually learns the hard way."

    • wrs an hour ago ago

      "LLM as Socratic tutor" isn't quite right, because the LLM can't be trusted. But I have had great results with "LLM as debating partner". Basically, I try to explain the thing I'm learning and have the LLM critique me. Then I critique the LLM, because it usually says something that doesn't quite make sense (or I ask it cite its source and it recants its statement). A few rounds of this is (I think) really helpful for cementing my understanding.