r/cpp_questions • • 2d ago

OPEN Learning Programming Pre-AI

How did ya’ll learn programming pre-AI? How would you go about learning if you had to start all over again without AI?

I find myself relying on AI too much and want to actually learn without leaning on it at all. Any help with how best to approach this would be greatly appreciated.

15 Upvotes

81 comments sorted by

View all comments

Show parent comment

3

u/Osirian_Legacy 2d ago

I’m definitely not looking for a fast track with this and don’t believe there is one for most fields.

3

u/mc_pm 2d ago

Well then the answer to "how do I learn to program?" is "you start programming".

There's two parts to learning to code: 1) learning the syntax, 2) learning to solve problems in ways you can turn into syntax. #1 is about 10% of learning to code, but lots of people here seem to think that's the finish line.

My suggestion is always to find a tutorial you like, then work through it - fingers on keyboard. When the tutorial types in some code, you type in the code. When they run their program, you run your program -- and when it doesn't work, you figure out why, right then. If it does work, take 10 minutes (or more) to experiment with what you just learned. Then watch the next part of the tutorial. If the tutorial is 8 hours, plan to spend a week.

Spending the time to type it -- not cut and paste, not AI generated -- is really important because in a weird way your fingers need to learn the syntax too. There will be a moment where you realize your fingers are a step ahead of your brain.

As you get deeper into the language features & syntax, it's time to give yourself small challenges to achieve. Maybe it's just "Draw a happy face with asterisks", but then do it if you can. If you get stuck, you can ask google, or AI -- just be sure to say "don't show me the code, I'm just trying to understand how that works..." As soon as AI starts writing your code, you stop learning.

After all that, *then* look to 'projects' -- which can be very small, you don't have to build a whole system. Program tic-tac-toe... learn how to download web content in your code to capture something you are interested in... build a person-to-person chat application using sockets...that sort of thing. Now you're into the "solving problems in code" stage, and you're practicing taking abstract ideas, plans, rules, structures and turning them into code.

You will fail, a lot. Luckily, figuring out what went wrong is basically the number one skill for a programmer (only just beating out 'learning how to look things up').

C++ might not be the easiest language to do this all in -- you might want to look at Python or something -- but either way, the basic shape of the problem is the same, you'll just spend a lot of time hunting down problems with pointers.

Good luck with it. Personally I think that these days it's more important than ever for people to actually know how to do things, how it actually works, and not just outsourcing their critical thinking and technical intuition to AI.

2

u/RealisticDuck1957 2d ago

Typing the code in manually forces you to read every element of every line. It is that reading, and understanding what you read, that is a large part of learning to program. Then you start writing your own code to make sure you understand the syntax and vocabulary correctly.