this post was submitted on 21 Dec 2023
94 points (93.5% liked)
Programming
17398 readers
147 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I wish I could get my head around programming. I've tried learning from books, I've tried learning from codecademy, and all I can do is follow the lessons, I don't understand how I'm supposed to turn all these lines of gibberish into a program that does something. The most common bit of advice I get is "Just make up a project! Find something that you want the computer to do, it's easy and fun!" And I'm over here like... "OK, how?" It's like someone pointing to a pile of metal and a welder and saying "Build something!" Sure, someone who knows how to weld can do that, but most people are going to need more information.
You need to pick a project to start out so you have a goal, then from there it's just google searches for each individual part.
I started learning in High School because I wanted to create a game. I had learned a little bit of Java from a book my dad gave me, but I was kind of in the same spot as you at first where I didn't know how to do anything other than follow along with the book.
But once I sat down with my goal to make a game, and just started Googling stuff, that's when it started to click.
Python has easy syntax, so that might be a good place to start. You could google: "Python game library" and it would pull up something like PyGame. Then you could look up "Pygame tutorial" which would give you a baseline on how to set up a window, etc. If you have a hard time with Python fundementals, you could just google "python for loop" or "python functions".
That's pretty much what my learning process looked like: start with a goal, google how to get started, google each problem as it comes up. I still follow that same process to this day, and I have a CS degree now.
At the end of the day, it's a skill just like anything else. Just takes practice. I don't think anyone is too dumb to learn it, but it depends on how much you want it. If it's not worth the effort for you then you probably never will.
What I tell people is to find something you regularly do manually, and automate it. I download a lot of torrents, then need to rename the many many files so my media server knows what they are. That’s something that can be automated. A perfect project for someone who’s just learning to program.
Why not try simple scripts at first? You could write a little script in Bash, JS, or Ruby to create folders or text files. Besides the very basic stuff I did on the high school robotics team, my first programming project was when I worked as a print broker and we invested in a digital press. I needed a program to calculate the cost of a print job, so I learned a little BASIC and wrote a program on my TI-98 to do it for me. It would ask a series of questions (eg - paper cost, single / double sided, color / black and white, how many imposed on an SRA3 sheet, etc) and spit out the cost of the job.
As for how you use the code, say you write a ruby script; to run it, you'd navigate to the script directory in the terminal and type ./scriptName.rb to run it. If you're using a compiled language, you'd compile it (your lessons would cover how to do this) and then you'd run the resulting binary the same way.
Go through the book Automate The Boring Things (Python)
Then AFTER figure out your own projects.
I think all three of the people replying to you are wrong. They all think you're having trouble finding a project you want to work on. But I think you're saying you struggle to understand how the logic of a program fits together into accomplishing anything.
I think you should follow one of these lessons to produce some example code, and then use the debugger to watch it function line by line.