I’ve always had trouble getting into coding/programming because I’ve never truly dedicated myself to it. Mostly, this is because I kinda always lose momentum to learn it. I’m a heavy FOSS user; I love coreboot/Libreboot and am interested in getting into firmware development. I’ve already helped test hardware for Libreboot and enjoy learning about firmware.

I have just started to cut out gaming from my life to focus more on this. Maybe I should start with Python? At the same time, though, I feel like I should start with C, but don’t want to jump the gun too quick.

Feel free to share your stories!

  • reversebananimals@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    I was a self taught programmer who 10+ years later is now a senior software engineer. I can’t tell you what to do but I can tell you what worked for me.

    The reality is, I never sat down with the intent to “learn programming”. Instead, I had practical ideas for things I wanted to make the computer do, and then I learned whatever was necessary to accomplish my projects as I went. Whenever I got stuck or hit an error, I’d search my questions online.

    I never truly “finished” most of these early projects but they gave me a practical understanding of how things fit together. From there I just kept making stuff and taking on harder projects and then harder jobs and eventually other programmers started coming to me asking for help because they knew I had solved the thing they were working on before.

    I’m not sure if it’s advice, but I’d say stop worrying about learning and just do. If you like firmware, go buy some shitty unsupported peripheral from Goodwill and try to make it work on your modern system. Solve a problem you have in your everyday life. It doesn’t matter if you accomplish the goal, you’ll learn a lot by googling your way through it. Do that enough and you’ll wake up one day and be a competent programmer.

  • CameronDev@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    As others have said, rather than learn a language, solve a problem. Find something that bothers you, and write some code to fix it. The specific language doesn’t matter.

    Its kinda similar to learning a spoken language, there is no point learning French if you cant use it in someway.

    • Mereo@lemmy.ca
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      4 months ago

      Sound advice. During my first year of computer science, one of my professors told me that programming languages are just a tool to solve a problem. The logic to solve it is the key. Whether it’s Java, Python, Go, etc. If you don’t know how to tell the computer what to do, you can’t program anything in any language.

  • pezmaker @sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    I started my career with it, studying it in college. Relying on it for finances definitely is a major push. I don’t touch it for a hobby though because of that. Hopefully others can help with suggestions for that side of things.

  • residentmarchant@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    I feel like you’re trying to fight an uphill battle. I find it’s always easiest to learn in a way that motivates or invigorates me.

    For example, I wanted to play games with my friends so I got into hosting a Minecraft server. It was hell at first to learn all the individual pieces, but I was motivated and it led me down the path of learning networking, basic server client architecture, and performance monitoring. That kind of spiralled out into making my own plugin, too. Despite the fact that I never ran a server with more than 5 active players or finished my plugin, it sent me down a path learning tons of new stuff because it was fun for me.

    I transitioned into webapp development later on by trying to make an idea I had come to life. This was well before I had even heard the word “startup” and I had no business sense, but I wanted to make something and was very motivated to hack my way through it. I didn’t finish that either, but I still use those skills I learned today.

  • CaptDust@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    4 months ago

    I wanted to have a cool geocities page, so I needed some HTML. Later I wanted to do downloads and forms… maybe a domain is in order. Learned some php and javascript. Discovered desktop languages, this C# stuff is pretty neat, I can do a lot with it. It’s versatile. Oops now I’m getting a paycheck for this silliness, and depending on it to eat.

  • Jeena@piefed.jeena.net
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    Back in the day - it was around 2003 - I had a band and I wanted my band to have a website. That is when I installed Frontpage which let you design it with drag and drop. I had a menu which I wanted to show on each page, so I used serverside injection which Frontpage offered to do that. Later I found out that you tan even dynamically change the menu to highlight on which page you are if you do it with PHP and to a '[HTML_REMOVED]`. From there I added more dynamic things until I had some software on my hands.

    But this was not the first time I got into coding actually. First time was around 1992 when my dad bought me an Amiga 500 and it came with the AMIGABasic handbook. Back then while most of my friends only used it for games, I somehow got interested in trying to make the computer do what I want. So I wrote some small games, some animations, even a book lending management program. But after some years i stopped being interested in computers until ten years later.

  • Someone showed me MS Logo in high school. I figured out that I can draw cool stuff, and do calculations in it. It inspired me to learn a real programming language. C was my first language. Then a learned C++, and Python. Then I lost interest in it for a few years, got a bachelor’s in math. I’m still in math, but I gradually regained some interest in programming. It started with the odd bash script I had to write from time to time. Then I had some larger problem to solve, and decided to learn Rust to do it. Turned out great, it’s on GitHub with ~100 stars. Currently I mostly code in Haskell and Lean, both for non-professional hobby work.

    TL;Dr: I found it fun.

  • xmunk@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    I was undeclared but leaning towards a stats major in college - I started working with SAS and found I liked building the solutions more than figuring out the statistics of it all.

  • Zikeji@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    When I was young, around 10, I was bored. We had one shitty desktop and no internet 99% of the time (we had dial up but only 1 landline, and my mom used the phone alot). We were also homeschooled, and the software teaching us was on that computer. I found the software documentation which was in HTML, and used that to make my own “website”.

    Even before then though I had a draw to tinkering with computers. After a bit I convinced my mom to get me intro to C++ by Bjarne Stroustrup, and messed with that for a good year or so. Then we upgraded to DSL when I was around 13 and I got into Roblox and learned Lua, then other languages.

  • vrighter@discuss.tchncs.de
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    start with python to do what? learning a language is not the same a s learning programming. Heck most languages can be learned in an hour or two. Programming is another beast altogether.

    A person can learn to use a hammer in minutes, but it doesn’t make them a carpenter.

    Find a project you want to build, and start building it. solve problems, and learn along the way. Learning “python” on its own will not help you learn programming in any way. Programming stuff will.

    • Bluefruit@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      I second this.

      I started learning Google app script for work and while its not exactly traditional programming like most folks would do, i can now look at javascript and have a basic understanding of whats going on.

      I learned a ot by doing. And with the help of ai, i was able to learn concepts, syntax, the best way to do this or that at least to a degree.

      Just trying to make something is the best way. Make a tool to make your life easier. Like if you have a repetitive task that you dont want to do each time, make a script that does it for you.

  • ImplyingImplications@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    I played flash games as a kid on Newgrounds. There was an option to submit your own flash games and that made me curious as to how they were made. I searched tutorials on how to make flash games and that was my start.

    Eventually I got interested in making programs outside of Flash. Still being a kid, I wanted to be the coolest programmer/hacker ever so I learned C (the only language hackers use) and intalled linux (the OS for hackers). I mostly use Python now since I can get projects done much faster.

    It doesn’t matter what language you start with. Just learn the core concepts around loops, if statements, data types, data structures, object-oriented programing vs functional programming. Those concepts span across all languages and once you know them you can just google “how to splice string in (language here)” when you’re using a different language. C is great if you also want to learn how computers manage data and how data structures work from first principles, since in C you need to manage memory yourself and it doesn’t come with any advanced data structures built in so you’ll need to implement them yourself.

    I now mostly use my programming knowledge for hobby stuff. I automate tasks, do programming challenges, and mod games.

  • TheBananaKing@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    I’m genX, so I grew up with 80s microcomputers. Programming was pretty much the only thing you could do with them.

  • Binette@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    I learned Minecraft (and other video games) were made with coding, so I had to learn it to make my own.

    I was like 8-10 and found a tutorial on how to use eclipse. I thought I followed it to the letter, but it didn’t compile.

    At 12, my math teacher offered python courses, so I attended them and yeah.

  • polarbearulove@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    While I agree with a lot of the other comments with the “you learn by doing vibe”, I feel like it’s a bit open ended and it can be a struggle taking the first step.

    I started out around 2012 with some “how to do java” tutorials, and through that learned the language agnostic basics of programming (variables, functions, arrays, loops etc). But because I had nothing I wanted to make, I dropped that pretty soon after and didn’t touch anything code related for like 5 years.

    I randomly applied for a job that required a whole lot of sql knowledge, got the role (when I probably shouldn’t have in all honesty) and that prior knowledge helped tremendously in getting up to speed with that, I just had to learn the sql specific stuff on the go.

    I then wanted to do a Pokemon Romhack, so followed tutorials on YouTube which taught me a bunch of C and git.

    So yeah, it wasn’t until I actually needed to use something that I actually learned any languages, and the original language I set out to learn I know absolutely nothing about now, but it did give me the baseline knowledge I needed to pick all the rest up far easier.