So I’m an on/off noobie but have been focusing on actually sticking with programming what I’ve been working on is Python but this question is for programming in general. For me it’s hard but I want to see how I can get better

Like are these good ways to get good:

Follow tutorials, then work on ways of adding your own twists or changes? Or trying to code it in something else?

Work on assignments from a resource you’re using like in my case Python Crash Course and attempt to redo the assignments without looking back?

Experiment with multiple libraries and library methods or built in methods?

Please share any other ways especially ones that helped you

Also when would be good to start a new language after learning one

  • BlameThePeacock@lemmy.ca
    link
    fedilink
    English
    arrow-up
    4
    ·
    19 hours ago

    Repetition doesn’t improve programming in many situations. Even when you get stuck. I could write a bunch of nested if statements every single day, and If they work, I wouldn’t get stuck and ever learn that there can be better ways to do it in many cases.

    Especially for people like me, who self-learned and didn’t take any courses, I simply don’t know what I don’t know.

    Everything from O notation to Object oriented programming is abstract in a way that you can’t accidentally learn it. I had to find these concepts and learn them, and not because I got stuck.

    • Azzu@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      5
      ·
      16 hours ago

      Well… At one point, these abstract concepts all did not exist. The first people to invent them did get stuck and had to invent them to do what they want.

      Maybe you’ll never “learn O-notation” by yourself (why would you call it O?), but if your program is slow and you don’t know how to solve it, you are actually stuck, and need to think about why your program is slow. And eventually you might figure out that no, you don’t need to iterate over all of your entries times all of your entries, it might just be possible to iterate only over all of your entries. And now you have learned “O-notation” or that O(n²) is slower than O(n).

      What I’m saying is, when people say repetition, they don’t mean “write if statements again and again” but “solve problems creatively again and again”. Many people have never learned creative problem solving, and so they’re stuck writing if after if.

      • BlameThePeacock@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        15 hours ago

        If you had to re-invent everything that came before you, there would never be any progress.

        Humans achieve progress by learning from other humans.

        I actually learned O notation from an interview question for a job I applied for, I’d never actually had a program run too slowly before that.

        • ugo@feddit.it
          link
          fedilink
          arrow-up
          3
          ·
          13 hours ago

          That’s why I included “do research”. I absolutely agree that reinventing everything is not the way forward, but I also think it’s important to get stuck on a problem before looking up what the possible solutions are, because that is when you are in the best position to understand them and how / why they work to solve the problems.

          If you write nested if after nested if, hopefully at some point you go “hold on, is there a better way?” And then you do research and learn. That is not to say that learning for knowledge’s sake is bad. It isn’t. In fact it’s great. But it might also be a bit dull to just follow tutorials and such.