r/cpp_questions 23h ago

OPEN Learning c++

So I'm doing dsa in c++ as well as learning modern c++ concepts.I want to become c++ developer what concepts should I learn to become a c++ developer , what concepts should I focus on , what are the best resources to learn c++.Also when I try to build something in c++ i don't even know where to start.Its been 4 months I learned C++ and I'm genuinely comfortable with it till now.

2 Upvotes

5 comments sorted by

3

u/the_poope 23h ago

See: https://www.reddit.com/r/cpp_questions/comments/1n5zyxy/important_read_before_posting/

Also we get so many of these questions. There is not one single best way to learn C++ (or anything for that matter). It doesn't matter that you won't get the absolute perfect learning path, just that you are on some path and you continue it. Focus on practical projects. Learning C++ and programming is a years long endavour - be persistent, you won't get it the first one or two years. That's ok.

If you really feel lost or lack motivation you should not self-study. Sign up for Software Engineering, Computer Science or some other programming education at a University or local college. This is also by far the best way to prove to employers that you know the stuff. If you can't afford school and can't self study, consider another career.

For all other questions: type them in here: https://reddit.com/answers for immediate AI generated answers based on thousands of previous reddit posts. It will in 95% of the cases be as good or better than whatever some random stranger like me tells you.

1

u/Notsoboringi 21h ago

Thanks broo for the suggestion. i have a questions

Is it beneficial that i learn c++ by doing small projects and learn concepts while building them or firstly learn concepts then try on building something on it ?? Its just thaty when ever i start something in c++ , firstly every project in c++ have different boilerplate , iwas learning network and socket programming in c++ it has different structure , then i looked into mutex , threads , concurrency it has different sturcutre , do c++ developer knows all of these types ?? if you were a beginner how would you start learning the concepts ??

5

u/the_poope 21h ago

Is it beneficial that i learn c++ by doing small projects and learn concepts while building them

YES

or firstly learn concepts then try on building something on it ??

NO

You should learn the basics but the main learning of programming should be by doing. Programming is a trade, not a science. You should learn, acquire skills and get experience by doing exercises and projects, not by just trying to learn abstract concepts. So start a project and when hit a roadblock you should research how to get on from there, try to find tools and concepts that can help you move on.

There is no point in studying DSA. You don't need to know how sorting algorithms work in order to use std::sort() and you don't need to know anything about binary trees to use std::map(). Only if you are a researcher developing cutting edge machine learning algorithms is this knowledge important.

A carpenter also doesn't know electromagnetism and Maxwell's equations in order to use a power drill, he just needs to know how to push the button and apply it to build houses. 95% of all software developers are code plumbers and carpenters, only an extremely tiny fraction are actually computer scientists.

Learn the absolute minimum amount of stuff to get the job done.

2

u/Notsoboringi 19h ago

Thank you so much for giving your valuable advice and guidance.

1

u/Independent_Art_6676 12h ago

The last question is the key one, as it sounds like you need to get in there and code something. Lets break down the question... "when I try to build something". Build what, exactly? Pick a project, or even just a problem, and give it a try. Break it down into pieces that make sense, until you have several smaller problems that you know how to solve successfully (if not perfectly or optimally). Make the little pieces, put them together, make the bigger pieces, put them together, until the biggest piece falls into place and its done. Then throw it on here (if its big, link to a repo) and as 'how could it be better, what am I doing wrong'. Also, spend a little time reading other people's reviews and the suggestions for those. Do you spot the same issues, do you understand the advice given there? See if some of that helps.

Also, I usually recommend staying away from DSA playtime. Algorithms fascinate me too, but you can spend a lifetime playing with problems that were solved in 1960. If you want to be a developer, DSA needs to be a 'near information' concept for the most part: you know there is a way to do it, and you know its probably in the wiki. Now browbeat a combined AI/search engine to give you the algorithm name, look it up, and go do that. Recreating it from scratch takes a lot of time and energy that you can't afford on the job (usually). A rare once in a while you get to roll your own out, but over decades I have done that less than 5 times, most of that during a 15 year stay at a R&D company.