The first thing you should consider is: Why do you want to learn C++?
The language has specific areas of application, and it's important to understand them before diving into C++. Research and explore these areas to get a better understanding of what you're getting into. Here are a few examples of why it's worth doing this research beforehand:
- Some areas of development may be different from what you expect. Game development, for example, can have many challenges, such as crunch time, poor management, and work-for-hire situations.
- The language you are interested in may not be the most popular in a particular area. For example, in machine learning, Python and its specialized libraries are the most commonly used.
Yes and no. :)
Having a basic understanding of computer science concepts will certainly be helpful, such as understanding procedural programming, OOP, and other general knowledge. However, you shouldn't rely solely on these concepts. The most common mistake made by beginners is trying to write C++ in the paradigms of other languages. For example, C developers often write C++ programs in a procedural style or think that C++ is just "C with classes".
C++ is rich in ideas and coding approaches, so it's recommended to start learning the language with an open mind. Try to understand its ideas, as this will help you use the language effectively in your work tasks. Knowledge of other languages can help you compare them and identify their strengths and weaknesses.