Any words of encouragement?

I was really excited at the start of learning c++ in school but I feel like I am falling way behind and just not "getting" it no matter how hard I study. Is this just something you get or don't get? Or do I just need to keep trying to move forward?

This is seriously getting depressing >_<

The people here have been GREAT though and I'm pretty sure the only reason I still have a decent grade.
People don't typically realize or appreciate how hard programming really is to do. It involves a lot of very precise, detailed thinking spanning multiple levels of abstraction over a problem. And it requires being able to sift through and process an often overwhelming amount of information in relatively short order. A lot of people simply cannot do it. It's hard.

But, it is also fun. If you are finding it enjoyable and leveraging it to make stuff work the way you want, then it is worth it. For me, I got started (a lot of us do) making video games and little utilities to speed up/simplify/verify otherwise repetitive work.

Though there exists a predisposition to doing it, which helps considerably, it is ultimately a skill which must be developed. If you find that it isn't working for you there is nothing wrong with saying "this isn't for me, I'm going to find something else that is". There is no shame in not having the right mind for it.

However, if you do find it worthwhile, by whatever metric you personally apply, then don't give up. It usually takes a lot of effort to wrap your brain around programming stuff.

And that doesn't ever stop being true. Part of programming is regularly being confronted with problems and ideas you will really struggle to learn and understand. It's part of what makes it both fun and frustrating.

I hope this helps.
Its a lot like math. You spend a lot of time learning fairly dull mechanics before you can do anything really cool. If you quit too early, you never even know what was possible, and forever will just see it as dull or difficult or both.

I guess the big question is whether you enjoy the coding part. Forget the classroom crap, forget the trick questions on tests and all the nonsense, forget the assignments where they tell you 'you can't use that here'. Have you reached a point where you can solve a small lab or assignment from start to end without being told what you can or cannot do, where you get to design it and do it your way -- have you ever done that, and if so, did you like it?

its like how you finally get to use a calculator in math class, or can stop doing things the hard way in physics. At some point the teachers/classes relax and you are at last free. At that point, if its not fun for you, it may be the wrong career. If it is fun, stick to it. And if you are not there yet ... well, consider these classes to be like algebra 1 ... you got to know and understand it, but its not really what you will be doing later.
There are a couple of decent online (and free) C++ tutorials available.

1. The tutorial here at CPlusPlus: http://www.cplusplus.com/doc/tutorial/

It hasn't been updated since around the time C++11 was officially released.

2. Learn C++: https://www.learncpp.com/

Learn C++ is actively worked up and updated. If you have to choose one I'd recommend going with Learn C++.

No tutorial (or book/books) will show ALL of what C++ has to offer. For that cppreference is probably the best online (and free) resource.

FYI, cppreference is not a site for learning C++.

All three sites have lots of example code snippets, the ones at cppreference are definitely for someone familiar with C++ and needs an advanced reminder.
https://www.learncpp.com/

This is by far the way to go from a noob to a probably above average programmer by the time you finish the tutorial. I recommend going from start to finish without skipping, since it builds on itself.


If you don't understand something, you should put time aside just to code it. Mess around with it, remove, edit, and add in lines and see what happens. Once you have a question that you can clearly state, you can usually find an answer online that'll be useful!
just not "getting" it no matter how hard I study


Can you elaborate on what you're 'not getting'? What part are you finding you are having difficulties with? At what point are you in your C++ study? How long have you been learning C++? Is C++ your first programming language?

C++ is a large, professional programming language and it's been estimated that it takes 2 - 3 years for someone to become proficient in it. Programming as a concept does require some logical analytical thinking - and has been said above, some just don't think that way. I was 'lucky' I started programming at school when I was 14. I took to it straight away, became the school 'expert' and have been doing it since for 50+ years!

What OS/Compiler are you using? Do you have access to a compiler outside of school? If you're using Windows on your own computer, then MS VS Community is free for personal use.

https://visualstudio.microsoft.com/vs/

Have you written any programs yourself from scratch without being told how to go about it or what to use/not use?

If you're currently working on a program and are having issues, post your code here. We're friendly and helpful and will offer advice and help with posted code.

You say at the beginning that you were excited at the start to learn C++. Why did you want to learn C++ - what was your motivation? Did you have something in mind that you wanted to accomplish using C++?

Looking through some of the code you're already posted for help with, I think part of the problem could be the way you're being taught - with possibly not enough simple explanation of the basics. Learning to program is like learning to run. You have to first learn to stand, then walk etc etc. Same with programming. If you don't 'get' some of the basics you'll struggle. As has been said above, I'd recommend the learncpp.com web site. If you want a book, then I'd suggest Beginning C++20: From Novice to Professional by Ivor Horton. https://www.amazon.co.uk/Beginning-C-20-Novice-Professional/dp/1484258835/ref=sr_1_3

Also, as said above, programming should be fun - not a chore. Try to enjoy it. Are you also doing some IT course as well that covers how a computer works, networking etc?

Good luck!
OP:
It's possible that you may be comparing yourself to your peers. I know in my first CS 101 class I did have more than a few peers that had been coding a little bit just like me, so we already knew the problems being taught. But there were some students that were learning programming for the first time. No one stopped to help them -- except me.

To put things into perspective: It took me over a year before I actually understood templates and classes. You can know a thing and not understand it. If you think you're having difficulty because you're comparing yourself to people that have already learned the material then you should stop. Programming is hard, and it is difficult a lot of the time. It's also very rewarding though.

Just push through, ask questions when you don't know, and if you get stuck ask for help!
Topic archived. No new replies allowed.