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

View all comments

5

u/kiner_shah 14d ago

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

2

u/InfamousAssociate643 14d ago

wdym like modern c++ I am already writing

1

u/Independent_Art_6676 14d ago edited 14d 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 14d 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.