I’ve always wanted to understand what is actually meant by this. I have wanted to get into programming for years, did some basic python and c, but could never really progress. Not necessarily a linux question but I know since most distros come with libraries already, it’s popular to use for programming.

I have trouble understanding what people are actually programming if it isn’t their job. Like, you go to your computer and start working on…what? I don’t know enough to make an entire program or debug a game, so im just unsure what people do especially when starting out.

Also I don’t really want to learn it for a job. I just want to learn it to know it. But im not sure how to apply it to anything realistic.

  • applemao@lemmy.worldOP
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    Thank you to everyone who commented. You guys are basically geniuses as far as im concerned, and I have a good library of content to look back on now when I have time to get into it. The hardest part will be coming up with a project so simple that I can do it, but one thats interesting enough for me to actually stick with. Maybe something at first like, at 6 pm on Tuesdays, it flashes a gif onscreen. Or maybe a super simple text game.

  • altphoto@lemmy.today
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    I programmed a lamp bypass for my old projector do I could then use a different lamp and turn it into a UV projector. Programming is not sophisticated stuff. Its the reason for having a computer. People could write, mail, watch TV, play etc just fine before computers.

  • Zarxrax@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    2 months ago

    I do some programming as a hobby. I’m far from being an expert or even competent at it. You work on whatever you WANT to work on. Sometimes this can be born from necessity, you need your computer to do something, but you can’t find any existing application that does the specific thing that you need. Sometimes maybe you just want to create something, just because it seems interesting to you, or just because.

    So just for example, one of my hobbies involves working with video. Years ago, I was frustrated with the options available for encoding my videos into h264, so I ended up creating my own GUI around FFMPEG. It was easy enough and effective for what I needed, that the tool became quite popular among others in my hobby.

    Recently, machine learning has made it possible to do cool stuff like remove the background from a video clip. A lot of this stuff is really difficult to even get working, let alone to use effectively. So a current project I’m working on is a GUI for such a tool to make it really easy to use.

    So yeah… First I would say you need to figure out what you want to do. Why do you want to write a program? What do you want to accomplish?

    Then you need to learn the basics of programming in whatever language you intend to use. And just gain a basic understanding of how programming works in general. Once you know enough to be dangerous, you can start working on something. Getting started is the hardest part, and involves really thinking about your problem, breaking it down into smaller parts, and considering how to solve each of those small parts. This can involve lots of research, lots of googling, and finding frameworks or libraries that might help you accomplish what you need.

    LLMs like chatgpt have also been amazing in helping people like me to create something much more quickly than before. I can ask it for thoughts on how to accomplish a specific thing, or even have it write entire sections of code for me. Just yesterday, I had it create a script for me which I estimate would have taken me 10-20 hours to write on my own. However, they don’t always give right answers, so it’s really important to have a basic level of understanding of programming so that you can understand the code that it gives you. I don’t use any code until I understand how it works. The LLM can also help explain the code to you!

  • Autonomous User@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 months ago

    You will never know enough to make a whole program when you never start. Programming small things is very different to big things. You could also try making small changes to big things.

  • JTskulk@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    I write Python for fun, I’m not a programmer. The more you learn, the more you can do. I’ve written a lot of scripts and tools to help me automate tasks I do frequently. It’s a lot of fun to dream up an idea and then make it real, and then later add random features that pop into my head. Windows sucks.

  • mvirts@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    That’s the most difficult problem in hobby programming: finding a project. Most interesting things seem to complex to start.

    The solution is to say f it I’m going to try. Right now I’m very slowly making progress learning Rust by writing a program to trade cryptocurrency. It took a while for me to even take my goals seriously as something I am capable of. It’s half gambling and half skills development but 100% interesting enough that I have consistently come back to it. I’ve come to terms with the fact that the only money it will make me is if I get a better job by becoming a rust developer.

    The Linux side of programming only really comes into play when you want to do networking, drivers, or esoteric filesystem intensive stuff. Windows and MacOS are capable of basically the same things. The main benefit of using Linux for development is that most open source projects are built by developers for development on Linux based systems, so getting dependencies has an easy one line command someone already figured out. For your situation I suspect the most important thing is how cool it feels when you use it. There’s something about setting up an operating system the way you want that keeps me coming back for more.

  • kambusha@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    Something like Automate the Boring Stuff might be a good option for what you want. Programming is just another tool to solve a problem.

    For example, I hated when I would archive an unread email, it would remain as unread. So I created a script to mark any archived emails as read, and that script runs every couple of hours.