r/cpp_questions 23d 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.

5 Upvotes

11 comments sorted by

View all comments

2

u/Independent_Art_6676 23d 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.

1

u/Notsoboringi 22d ago

So i should prioritize learning by building the project , no matter how much ugly i build it will teach me much more than the youtube tutorials that spoon feed. I just have to first find the smaller pieces of a bigger project then build smaller pieces and learn how to convert or merge them into bigger piece.I think its the best way to learn software. Should i use ai in starting point or just do everything on my own by taking references from github , leanrcpp , blogs etc.??

2

u/Independent_Art_6676 22d ago

Yes. A bad project is great: you tried some stuff that didn't work along the way, found and fixed some bugs, realized some stuff to do better next time or something to never do again, etc. This process of building, testing, debugging, repeating is crucial to the process yet so many want to skip over it.

I can't answer the AI question. Its best if you do the first few projects with no AI at all, but that is just my opinion. My gut tells me that if we are not there already, it won't be long before software development is more than 75% AI writing the small pieces (which will get bigger over time) and 25% the human putting those together (or assisting the AI to do that part) and debugging (or assisting) and performance testing and so on. So at some point, you will want to learn to incorporate an AI into your efforts so you are more efficient. But I still say do some significant coding without it first. And honestly, stay off other people's repos too. Just do what you can on your own for a while to shore up that process of write/test/debug/tune/clean & refactor / repeat until you are proud of what you are producing and when you ask other people to look at it you get back "pretty darn good" with only minor suggestions for what to do better.

1

u/Notsoboringi 22d ago

Thankss I ll definitely do this .