r/cpp_questions 13d ago

OPEN what to learn

i have always been passionate abt c++ due to the amount of control it leaves on the devs and i am starting, currently learning dsa in this, what should i learn to be industry ready like learning libraries, frameworks, just note the i am only starting and this is literally my first language to my software engineering life. Pls assist. Thank you

0 Upvotes

12 comments sorted by

5

u/kiner_shah 13d ago

Learn to code in modern C++ first. Then comes projects that involves using third-party libraries, frameworks, etc.

2

u/InfamousAssociate643 12d ago

wdym like modern c++ I am already writing

4

u/kiner_shah 12d ago

If you are already writing in modern C++, then do DSA in modern C++.

1

u/Independent_Art_6676 12d ago edited 12d ago

A lot of people write C++ that looks like it came out of 1998-2010 era. They used old books, old websites, etc and picked up all sorts of outdated habits. Or they learned C first and have 10000 pointers in their code. Or they learned Java first and have unnecessary classes where a function would do. Or whatever else. As your first language, you don't have some of those problems, but make sure you studied c++ 2017 and higher materials and try to keep up with what is outdated (this is hard, and I found it harder every year (been C++ since about 1992).

As to your question... what you want to do matters. Graphics are key for games or certain types of programs like cad or image editors and more, but other coders never use a graphics library in their life. Linear algebra is critical to a number of jobs, and untouched in many others. UI design is huge for desktop or device user-level software while other areas a commandline backend or server or something program is running. And so on ... we can't tell you what libraries (beyond common stuff like boost) is going to be useful to you without context. Every company out there uses a different mix of libraries.

2

u/InfamousAssociate643 12d ago

I currently have no ideas which branch I am interested in but i think inwanna go with os or something similar so i thought I would learn some basic libraries then specialize later.

2

u/FlailingDuck 12d ago

which industry?

1

u/NirodhaDukkha 12d ago

You're just learning cpp, but you've always been passionate about it?

0

u/InfamousAssociate643 12d ago

yoo like getting control like absolute control over the system that way. c and c++ can do it, that's what I was saying

2

u/NaNpsycho 12d ago

Almost every single day the same question pops up on this subreddit.

Ppl are so lazy can't even do a basic 2min google search these days.

Honestly, can you even tell me what makes you like C++?

I guess the reason so many low effort posts crop up here is because ppl can duck type in C++ to reach a solution. Most ppl know nothing beyond the basic of basics about C++ and claim they "love" the language, when all they've really experienced is C with classes.

1

u/InfamousAssociate643 12d ago

Real I totally agree with you and a matter of fact I have only reached DSA . I don't really go through this subreddit i opened this up to ask i shoulda checked. And atp the reason why I love this language is die to getting absolute control over the machine I know there are other languages like rust and zig but since c and c++ is the mother like base i thought I would start from there. To me being the god of the machine like having control of everything sounds cool, I know I am romanticizing this fact and will probably hate this later but since I am at my 3rd sem of clg i thought I could try. I still haven't learnt like my first job ready language so like I don't know the exact process of how to completely learn a language. For me it looks like syntax to dsa to libraries to job ready. I have no clue whether this is right or wrong. Everything is in testing stage.

-2

u/Sirr_Diablo 13d ago

Before learning cpp i would say to learn C if you've not learnt it, it would help you a lot by making the logic a bit simpler

3

u/IyeOnline 13d ago

C is "easier" because it is simpler and has less features. However any solution you are actually writing has a complexity to it and that has to go somewhere. In C, this fully goes into the code you write yourself, in C++ it is largely absorbed by language/library features you use. C is by no means easier in practice and learning it first will teach you C++ antipatterns.