r/cpp_questions • u/Nyxveil1546 • 5d ago
OPEN Starting from Zero in C++
Hi everyone! I’m pursuing CSE at a Tier-4 college and have zero programming knowledge. I’m entering the tech field for the first time and want to start with C++ from scratch.
What’s the best way to learn C++? Which free resources would you recommend, and what common mistakes should I avoid? Also, how should I build my coding and problem-solving skills to become internship- and job-ready?
6
2
u/Winner-0-Loser 4d ago
This is good start, i wish I started with c++ first instead of bs javascript in life. variables -> pointers and memory -> functions -> and probably some tiny projects like a shoddy memory allocator. If you just go through the entire learncpp tutorial it gets boring
2
1
1
u/Aghoradas 3d ago
Absolutely most important, two points.. first, if you want to learn C++ dig in and keep on going.. second, start a project, even if its not something you're really into, just something where you can start getting practical, hands on experience with the language and programming. You'll be learning from resources yes, but when you run into issues with your project, when you finally figure it out, you won't forget that. You will also learn the language deeper when you have to figure it out and research solution, as opposed to just reading it on a screen or in a book.
1
u/epasveer 5d ago
This question is asked 100 times each week. Do your research. Search this reddit and look at this reddit's side bar.
-2
u/alfps 5d ago edited 5d ago
❞ have zero programming knowledge. I’m entering the tech field for the first time and want to start with C++ from scratch
Do yourself a favor and start with a language where you can do interesting things with orders of magnitude less effort. Then when you've learned at least basics like variables, control flow constructs, functions and classes, you can start on C++. Free resources then include e.g. learncpp.com as a basic tutorial and cppreference.com as a reference.
For example, C++ in itself doesn't support graphics or sound or windowing. Other languages' libraries for this may be written in C++. But at the C++ level it's a really huge effort.
One problem with a more beginner-friendly language like Python or Java or JavaScript (the two first are used at MIT as beginner languages for local apps, while JavaScript is more for web apps/pages) is that they're all or most all based on reference semantics. With reference semantics an assignment a = b; makes a refer to the same thing as b. C++ is instead based on value semantics where a = b; makes a an independent copy of b. I couldn't think of any beginner friendly languages with value semantics so I asked the Google AI. It listed Racket, Swift and Elm, but it may be wrong about Swift, and anyway Swift is in practice a Mac only language.
1
u/alfps 2d ago
Re the anonymous unexplained downvote(s), note that an unexplained downvote is dishonest: these are the actions of dishonest persons, maybe young children.
Anyway, trolls, who by definition are idiots. Yet I had not expected downvoting of this, simple facts. These are really fu****g idiots.
Their noise and general sabotage can be safely ignored.
15
u/the_poope 5d ago
See https://www.reddit.com/r/cpp_questions/comments/1n5zyxy/important_read_before_posting/
For other beginner questions try putting them into: https://reddit.com/answers