# :space_invader: C++ - It's Not Rocket Science

Modern C++ is much simpler than it is commonly perceived. The language has undergone significant changes over the years and has acquired the ability to write safe and efficient code. With the latest standards, there is no need to worry about memory leaks. The compiler has also become much smarter, performing a vast number of optimizations on your code to deliver maximum performance. However, it is still possible to optimize the code through manual tweaks and tricks. 

The main shortcoming of the language is the lack of a standard package manager. Although several products aim to fill this gap, none have been successful so far.

Also, C++ has suffered from its own paradigm of "The developer doesn't pay for what they don't use." In practice, developers of commercial software don't pay much attention to dependencies, which results in the opposite situation where the developer has to pay every time they need a dependency. This leads to "interesting" side effects during the project build. Nevertheless, this problem is gradually being resolved as well.

To get started with C++, one needs a basic understanding of:
- Arithmetic
- Boolean algebra
- Drawing flowcharts
- Representation of numbers in different numeral systems

Despite its history, modern C++ is much simpler than it used to be.

Don't be afraid to learn it, and good luck! :dizzy:

---

[**To main page**](../README.md)
