# :space_invader: C++ — это просто

Современный C++ гораздо проще, чем принято считать. За годы трансформаций язык успел сильно преобразиться и обрасти возможностями, которые позволяют писать безопасный и эффективный код. Если использовать примитивы из последних стандартов, то больше не нужно беспокоиться о возможных утечках памяти. 

Компилятор также стал гораздо умнее. Он способен выполнять огромное число оптимизаций для вашего кода, выдавая максимальную производительность. При этом по-прежнему возможно оптимизировать код при помощи самостоятельных манипуляций и ухищрений.

У языка всё же есть и недостатки. Главным из них - отсутствие стандартного пакетного менеджера. Есть сторонние разработчики с пакетными менеджерами, которые пытаются занять эту нишу, но пока ни один из них так и не смог стать лидером рынка. Наиболее популярные из них: [Conan](https://conan.io/), [vcpkg](https://vcpkg.io/en/index.html), [Nuget](https://devblogs.microsoft.com/cppblog/nuget-for-c/) и т.д. 

С++ также стал жертвой собственной парадигмы: "разработчик не платит за то, что ему не требуется". Практика же показывает, что в коммерческих проектах разработчики не слишком аккуратно обходятся с зависимостями, потому породилась обратная ситуация: разработчик платит каждый раз, когда ему нужно подключить новую зависимость. Это провоцирует различные побочные эффекты во время сборки проекта: растет время сборки, возникновение циклических зависимостей и т.д. Но и этот вопрос постепенно решается от проекта к проекту.

Чтобы приступить к изучению языка потребуется набор базовых школьных знаний:
- Арифметика;
- Булева алгебра;
- Составление блок-схем;
- Представление чисел в различных системах счисления.

Несмотря на весь бэкграунд и информационный шлейф, который тянется за C++, мы считаем, что его современная версия стала в разы проще, чем это было в прошлом.

Потому не бойтесь изучать его!

Удачи! :dizzy:

---

[**На главную страницу**](README.md)