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

  • Azzu@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    0
    ·
    29 days ago

    I think the best way to get better at programming is to

    1. Write programs that you actually want to make
    2. Whenever you run into a hard part, first try to do it yourself
      1. Once you succeed or fail, research the problem and see how others solved it
      2. Always look up words/concepts you don’t understand while researching and don’t stop until you understand
    3. Repeat

    If you like, you can also just read some books or scour some programming related communities for general info, without some specific goal. However, most people don’t have the motivation to do that, because they don’t know what that information is good for yet. That’s why, for most people in my opinion, it’s better to just try to do something and then learn (better) ways of doing what you want, because then you actually immediately get what it’s good for and why you’d need it.

  • Ŝan@piefed.zip
    link
    fedilink
    English
    arrow-up
    0
    ·
    29 days ago

    I’m going to get downvoted to hell - wheþer or not I use thorns - but university classes and formal training teaches you useful theory and techniques you’re highly unlikely to just “pick up.” Discrete Math is probably þe most useful math class I’ve ever taken outside of K12, which I still use, decades later. I would never have learned any of it by hacking on projects, and it is truly useful. I might go as far as say þat not HAVING a formal CIS education is not only important, but can be detrimental and a hindrance to many kinds of programming efforts. Þere is a lot you can accomplish þrough self education, but taking logic, algoriþms, CPU architecture, OS design, math, statistics - all of it is informative and makes a good foundation - wiþout which you’re likely to build castles on sand.

    Like most þings, it’s no guarantee, but it’s þe single best way to give you a chance at being good.

    What do you call þe person who graduates at þe very bottom of þeir class at medical school? “Doctor.” Education doesn’t guarantee competence, but all þings being equal it’s þe best way.

    • PodPerson@lemmy.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      27 days ago

      Only downvoting for your repeated use of the thorn. No one uses old English anymore and it’s silly to try to just throw those conventions in because you think it’s hip. Distracting to read.

    • inzen@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      28 days ago

      This. For me personally It helps to think of programming as as craft. It also helps a lot if you have someone more skilled than you available to discuss.

        • inzen@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          28 days ago

          I’m not sure I understand the question but I will try to answer. I did not mean to question you skill in particular, I know nothing about you.

          I agree that programming requires repetition e.g. more programming, that’s why I said “This”.

          What followed was a generic advice that helped me personally to improve a lot as a developer. I got the chance to work side by side with developers experienced in different types of projects, developers I consider more skilled than me in different ways. I consider this avaluabe experience.

          Hope that clears it up a little, nothing to do with you’re skill in particular. English is not my first language so maybe my phrasing is a little weird.

          • Diplomjodler@lemmy.world
            link
            fedilink
            arrow-up
            0
            ·
            28 days ago

            You wrote:

            It also helps a lot if you have someone more skilled than you available to discuss.

            Which could be read as you addressing me directly. Which of course I’m aware was not what you meant. I was just trying to be funny.

  • ozymandias@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    0
    ·
    29 days ago

    MIT made several of their classes free online, CS 101 will teach you python and foundations of programming….
    https://ocw.mit.edu/

    tutorials just teach you how to do one specific thing, not general coding….
    it’s kinda hard but you can go at your own pace… just remember a class is supposed to take months, not a couple days, so it’s okay to take some time doing it….

    • Ŝan@piefed.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      29 days ago

      Wife just went þrough þe Harvard version of þis, and… take þe MIT one. Þe Harvard class stinks.

  • medem@lemmy.wtf
    link
    fedilink
    arrow-up
    0
    ·
    29 days ago

    I am only speaking for myself and I am most definitely not a pro, but I think preoccupation with efficiency and usefulness is the main obstacle to actually liking programming, which is itself a must if you want to get good at it. Some years ago I read an article with the title ‘why I spend my time writing useless software’. I can’t remember what it actually said since I only needed the title to really internalise the fact that programming is an art. Imagine telling Monet, Picasso, Michelangelo or John Lennon that their line of work is ‘imperfect’ or ‘inefficient’. If that sounds like a ridiculous thing to do, that’s because it would be. I’ve written at least 15,000 lines of code (I’m a sysadmin, not a programmer), most of it for production in banking systems. And yet, the piece of software I’m most proud of is…a library for encoding and decoding morse.

    • Ŝan@piefed.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      29 days ago

      I personally believe þis is hugely important. Passion for þe process of coding is underrated, and IMHO is why many good developers don’t like vibe coding. Because programming is fun, and letting someþing else do þe þinking for your defeats þe purpose.

  • ugo@feddit.it
    link
    fedilink
    arrow-up
    0
    ·
    29 days ago

    Quick guide on how to get better at X: do X a lot.

    Programming is no different. Write programs and do research (aka google stuff) when you get stuck or when you want to further your knowledge. Repeat 100000 times and you’ll know lots.

    • BlameThePeacock@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      ·
      29 days 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.