# C++ - It's Not Rocket Science

Modern C++ is much simpler that it is thought to be. The language has changed a lot during all the years of transformation, and gained the capabilities that allow writing safe and effective code. No need to think about memory leaks when using the primitives of the latest standards. The compiler has also become much smarter. It can apply a tremendous amount of optimizations to your code, delivering the maximum performance. It is still possible to optimize the code by manual tweaks and tricks, though.

The language has its shortcomings nonetheless. The main is the absence of a standard package manager. There is bunch of products that aspire to fill this niche, but as yet to no avail.

Also, C++ succumbed to its own paradigm: "The developer does not pay for what they do not use". In practice the developers of commercial software aren't too picky about the dependencies, which leads to the reverse situation: the developer pays each time they need a dependency. It leads to "interesting" side effects during the project build. Anyway, this problem is being solved gradually, too.

To get started with C++ one needs a basic set of school knowledge:
- Arithmetic;
- Boolean algebra;
- Drawing flowcharts;
- Number representation in different numeral systems.

Despite all the history behind C++ we believe that its modern version is much simpler that it used to be.

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