Wanna learn C++, now HOW?
Personally, I would start with something a little easier to pick up than C++, as @jaslion has already suggested. Java might be a good place to start (if you have a good teacher), but in my most humblest of opinions, it still has a lot of (arguably) unnecessary syntax for a beginner.
Understanding core programming principles, language constructs and simple data structures is probably where you want to start. Playing around with sequential, non object-orientated code in an interpreted language like python is a good way to start picking this up (simply install python if you're on a windows machine and open up a prompt, then refer to Pythons documentation, you can just use terminal if you're using macOS or Linux). If you already have this knowledge (understanding of loops, variables, arrays, maps, flow control, etc), then I think it's time to move to object-orientated programming. This is where I think Java actually is a good choice of language, it forces you to be much more explicit, thereby pushing you to really understand what the code you are writing is doing, stack traces are usually fairly informative and you don't have to deal with the intricacies of memory management. This all means you can firmly concentrate on the code you are writing, rather than having to spend ALOT of time debugging and searching for memory leaks (from my experience anyway).
With this said, it can be pretty tough to wrap your head around objects, inheritance, polymorphism, interfaces and the works. Which is why I think at this stage, either taking a course (such as those offered by Coursera, also suggested by jaslion) or reading a book (yes, I did indeed say reading a book) on the subject may be a good idea. You could opt to refer to some documentation on object-orientated programming (OOP) but from my experience, watching someone else provide a working example or reading about the subject in a well structured manner and testing yourself using exercises provides the most valuable learning experience. The final alternative would be to look for free YouTube videos, as there are plenty, but what I have found is that sometimes a lot of the people on YouTube offering free OOP videos often are scratching the surface and don't provide a full, well thought out explanation of what is going on. The narrative is usually something like: "we'll come back to what exactly this means later, just use this static keyword for now and don't worry too much about it". Don't get me wrong, I'm sure there are some great free online courses out there, I just haven't come across many myself.
I would say, once you're feeling confident with core programming principles and concepts such as: interpreted languages VS compiled languages, OOP, what the JVM is and why it exists, garbage collection, etc. Then it's time to give learning C++ a try, otherwise you might (like one of my friends) think you hate programming because the first programming language you tried to learn was either C or C++.
Also I'm surprised no one has referenced this image yet:
I'm new here btw, so hello! It took me a while to figure out how to include that image! Anyway, those are my 2 cents, you may not have asked for them, but you're having them regardless! Feel free to critique my response if you feel differently.
Dilworth
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now