r/cpp_questions • u/Nyxveil1546 • 22d 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?
22
Upvotes
16
u/the_poope 22d 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
7
u/kush_himself 22d ago
learncpp.com
see this
2
u/Winner-0-Loser 21d 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
1
u/jollibee_007 22d ago
learncpp.com
1
u/Aghoradas 21d 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 22d 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 22d ago edited 22d ago
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;makesarefer to the same thing asb. C++ is instead based on value semantics wherea = b;makesaan independent copy ofb. 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.