How do I go about this? Are there any free resources that’ll help me get started?

I see people advising to start with a small project, but you need to get some basics down right? What language? How to develop it and stuff?

My only experience is some very basic C programming classes I took during school.

  • Passerby6497@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    ·
    23 days ago

    Realistically, you should still find a project that you want to do and use that as the basis of your learning, as that will influence your language of choice,. I’d start with either python or powershell stuff to get going, as both are general purpose, multiplatform languages that can do a lot and are moderately forgiving with syntax and stuff.

    Past that, find a project that interests you, break down what needs done, and learn those steps individually. It’s not as cohesive as a hand holding hello world style tutorial, but I found I learned so much better if I had a need for the knowledge instead of just learning for it’s own sake.

    In my case, I picked powershell as I’m a windows admin. Since I’m a data hoarder as well, I chose a video conversion pipeline to convert all of my movies into a consistent file format. Part of the requirements are to find all files with an extension that isn’t my standard (concepts: file listing, filtering, working with objects) and then execute an external program to convert the files (concepts: command line execution, state management, error handling, looping), validate the conversion completed successfully (concepts: reading file content, filtering/regex), moving the files to a new location or replacing the file with the new one and backing up the original (concepts: file management), and log file retention and cleanup. As I developed my script, I also began learning to properly “function-ize” my code to make things more readable/usable, and eventually started moving functions into a module to better modularize my code.

    A decade later and I’m currently in the middle of a couple of projects using powershell to make and call API functions to automate business services at work.

    • amldvk@lemmy.worldOP
      link
      fedilink
      arrow-up
      3
      ·
      23 days ago

      Wow, thank you for the detailed response. I do have ideas for what kind of stuff to work on, especially after your great example. Thank you again!

      • Passerby6497@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        23 days ago

        You’re welcome! Coding has been my passion since I was in high school, and I understand how hard it can be to wrap your head around the concepts, even with formal schooling on the topic. To the point that I’ve learned so much more on my own than I did in school just because my passion allowed me to internalize the knowledge instead of just learning it.

        Best of luck on your adventure!

        • amldvk@lemmy.worldOP
          link
          fedilink
          arrow-up
          3
          ·
          23 days ago

          I remember a time in my life, back when I was trying to learn C. Every time I saw a problem my brain directly started breaking it down in to steps. How to solve this consistently, think about edge cases, etc.

          I want to get that back!

    • Geometrinen_Gepardi@sopuli.xyz
      link
      fedilink
      arrow-up
      3
      ·
      23 days ago

      As I developed my script, I also began learning to properly “function-ize” my code to make things more readable/usable

      I also started with Powershell, and not by reading guides/books. I got pretty good with using the pipeline, loops, etc. but my code was terrible soup with no re-usability. Later I learned JavaScript and realized how important it is to think about functions first when writing scripts. Makes everything easier and smoother.

      • Passerby6497@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        23 days ago

        Yeah, it definitely helps to plan things out ahead of time, but I’ve had decent luck with refactoring a code block into a function to reuse code or cleanup sections. But I definitely try to make it into a function first when I can since it’s less work than going back and fixing stuff, but sometimes a simple code block blows up or you need to reuse it later.