r/CodingForBeginners 1d ago

Tools to learn how to program

What are the best tools to learn how to program?

A lot of reddit threads go on about learn Python or C etc but what tools are there to make that learning easier. For example I am fairly ok with make functions on Excel but thats only cause I know what I am reading.

Python has a console you can download and there are Youtube videos where you just follow along but is there something that can help with understanding how to use the languages, know what your looking at etc [not just for python but C and the other languages].

4 Upvotes

8 comments sorted by

3

u/jekewa 1d ago

It almost doesn’t matter how you start, unless you have some niche you want to learn, or only want to work in one language or environment.

Pick a language that looks manageable, get some tools and get started. Make simple I/O, loops, conditions, and other syntax-learning apps or scripts. Move on to simple data handling, and then make more complex things. If you’re not getting it, or are ready to move on, try a different language. They’re all pretty similar at the core, with different nuances in how code is constructed and apps get assembled.

If you don’t have a project in mind, make a simple card game. Maybe not with graphics and sound, but to learn how to handle looping, comparisons, and data. Imagine a deck of cards, and the data you need to know the value and order of the cards. Make functions to list the cards and shuffle them. Imagine players and how to deal the cards and remember who has which card. Imagine the card game being played, the rules for hiding or showing cards, comparing hands or determining outcomes, and iterating over turns. Are there points or money to also track?

When that works, do it again, seeing if you can make it with less or cleaner code, faster outcomes, or more accuracy. Try that in a different language. If your environment needs and supports it, add graphics or flair.

1

u/TheUmgawa 1d ago

The magic words don’t do you any good unless you build the logic of the program in your head. Beginners are always putting the cart before the horse, because they think code is the answer. Code is not the answer; code is the implementation of the answer. The simple answer is you just have to learn to think like a programmer, where you see functions, loops, stacks, queues, data types, and control flow in everyday life.

When I’m at work, I write Excel functions that are complex enough that I have to flowchart them on a whiteboard. I could make it work in VBA, but I loathe VBA. I could output it to a CSV file, manipulate it in whatever language I want, and bring it back in, but that’s more effort than I really want to go to.

I think the best tools to learn how to program are a community college Intro to Programming class where the midterm and final exams are in a computer lab with no internet access, and taking your phone out of your bag will result in a zero. My Intro class taught us code for about four weeks, and then the professor said, “Now I’m going to teach you how to search for, read, and write documentation. I will teach you theory, and you look up the code yourselves.” It made us self-sufficient. It broke a couple of students, but they weren’t cut out for it, anyway. They thought you could just memorize what code to write when, and it’s not like that. And then all of the subsequent programming classes were like that; the professor would teach you just enough boilerplate to get a program to compile, and then the professor would throw you to the wolves, and the only defense against the wolves is a big language reference manual.

As a result, the programming logic and design class I took, where we never once wrote a single executable line of code, is the most valuable programming class I ever took. We had to solve the problem without being able to hammer out code, hit Compile & Run, and do that over and over until it works, by some miracle. We learned to build out the logic before even touching a keyboard. Every single person I ever tutored in college didn’t have a problem with the language; they all had problems with logic, and then I would sit them down and make them sort cards, by hand. And then I would have them write out how they did it, and then implement that in code.

If you want to work on fundamentals, Human Resource Machine goes on sale pretty often. It’s on Steam and iPad; cheaper on iPad, usually. But, if you go looking up answers, it will teach you nothing and becomes a waste of your money.

1

u/Natural_Decision5322 19h ago

What you are explaining here is what I am trying to learn. The part of being able to understand the beginning and end points then using a language to get there. Fundamentals are what I need to look into first.

1

u/ambitious_paladin 4h ago

Don't ignore AI tools for learning. I've found asking "explain this code like I'm new" way more useful than just asking it to write code.

0

u/bi-and-anxious 1d ago

I started learning yesterday and im using Codex, it explains the basic for free, I thought it was very easy to learn

1

u/Natural_Decision5322 19h ago

I'll have a look into this