# Are you sure that you need C++?

The first thing about which you should really think is: Why do you need to learn C++?

The language has specific areas of application. Try to search and dive into them before you start exploring C++. Find the one that interests you, take a close look and it might be that the real situation will be different from your expectations. Here are some examples why it is worth to do it beforehand:

- Some development areas look different from their idealized image. Game development is a good example. Alongside with known advantages it has many dark sides: crunches, lack of intelligible management, work for the drawer, etc.

- It might be that in the area that you are interested in a different language might be popular. For example, in machine learning, the most common language is Python and specialized libraries for it.

# I already know C/C#/Java/Python and so on. Can I already start to work using C++?

Yes and no. :) 

Computer science basics will help you for sure. For example, understanding procedural programming, OOP or other concepts and general knowledge. But you shouldn't rely on them completely. The most common case that newbies often find themselves in is that they try to write in C++ in the paradigms of other languages. For example, C developers tend to write C++ programs in procedural style, or they tend to think that C++ is "C with classes".

C++ is rich in ideas and coding approaches. Therefore, it is recommended to start learning the language with a clean head. Understand its ideas. This will help you to use the language effectively in your work tasks. Knowledge of other languages will help you compare them with each other and identify strengths and weaknesses.