Did you like how we did? Rate your experience!

4.5

satisfied

46 votes

Taking into account that I have knowledge of Python, Java and C #.?

The machine memory model. Its quite different from what youre used to from these languages. Id suggest you learn C first and get some practice in it; C++ uses the same model, but in a lot more complex way. It might be a little too much to try to learn all the intricacy of the distinction of local/static/dynamic data and pointers vs references vs rvalue references vs smart pointers. Start with C. Its a simple language, you should be able to learn it relatively quickly. In time, you shall see that some things are done repetitively, and in a bit inconvenient way. You shall see some common cases where you will lack support from the language itself. Then itll be time to switch to C++. And as you do, start with RAII idiomas thatll be notable difference in general approach, compared to all the languages above. Ive seen Java programmers coding in C++ as they would in Java; thats simply wrongthe code was just ridiculous. Ive also seen C++ used as an extension of C; again, wrong. You shall have to make a bit of a mindset changeand be prepared for that. And I think gradual approach is better; C++ is a pretty complex language and simply diving into it can cause a lot of misunderstanding and frustration. Thats IMO the reason why many people dislike itthey simply didnt learn it in a systematic way. Starting with C, figuring out the language limitations and observing how C++ deals with them is a good way to learn it properlyby understanding why things work the way they do, not just learning how to do them.

100%
Loading, please wait...