Refactored FunCpp

This commit is contained in:
Evgeny Melnikov
2021-10-01 22:50:33 +03:00
parent 225d4d7475
commit 94f8594c26

View File

@@ -1,16 +1,19 @@
# C++ — это просто!
На самом деле современный C++ — это гораздо проще, чем принято считать, потому что за годы трансформаций язык успел сильно преобразиться и обрасти фичами, которые позволяют писать, с одной стороны, безопасный, а с другой, эффективный код. Если использовать примитивы из последних стандартов, то больше не нужно беспокоиться о возможных утечках памяти, а компилятор стал гораздо умнее и отвечает за большую часть требующихся оптимизаций. Если это требуется, всегда можно сделать код ещё оптимальнее (и менее безопасным с точки зрения использования памяти), но пригодится вам это только если вы действительно решите углубиться в изучение и использование языка.
Современный C++ гораздо проще, чем принято считать. За годы трансформаций язык успел сильно преобразиться и обрасти возможностями, которые позволяют писать безопасный и эффективный код. Если использовать примитивы из последних стандартов, то больше не нужно беспокоиться о возможных утечках памяти. Также компилятор стал гораздо умнее. Он способен выполнять огромное число оптимизаций над вашим кодам, выдавая максимальную производительность. Если потребуется, то все по-прежнему возможно сделать код оптимальнее при помощи самостоятельных манипуляций и ухищрений.
У языка всё же есть и свои недостатки, самым главным из которых является отсутствие стандартного пакетного менеджера. Есть куча разных продуктов, которые пытаются занять эту нишу, но пока так ни один и не смог этого сделать. С++ стал жертвой одной из его парадигм: "разработчик не платит за то, что ему не требуется", но практика показывает, что в коммерческих проектах люди не слишком аккуратно обходятся с зависимостями, а потому получилась обратная ситуация: "разработчик платит каждый раз, когда ему нужно втащить новую зависимость". Но вопрос решается. Уже есть несколько мощных инструментов на рынке, просто пока что ни один не смог захватить его полностью.
У языка всё же есть и недостатки. Главным из них является отсутствие стандартного пакетного менеджера. Есть куча разных продуктов, которые пытаются занять эту нишу, но пока ни один из них так и не смог этого сделать.
Чтобы приступить к изучению языка требуется ровно тот же набор базовых школьных знаний, что и при изучении любого другого языка:
С++ также стал жертвой собственной парадигмы: "разработчик не платит за то, что ему не требуется". Практика же показывает, что в коммерческих проектах разработчики не слишком аккуратно обходятся с зависимостями, потому породилась обратная ситуация: разработчик платит каждый раз, когда ему нужно втащить новую зависимость. Это провоцирует всякие "интересные" побочные эффекты во время сборки проекта. Но и этото вопрос постепенно решается.
Чтобы приступить к изучению языка потребуется набор базовых школьных знаний:
- Арифметика;
- Булева алгебра;
- Составление блок-схем;
- Представление чисел в различных системах счисления.
А прогресс в изучении будет завесить от количества практики (как и везде).
Не смотря на весь бэкграунд и информационный шлейф, который тянется за C++, мы считаем, что его современная версия стала в разы проще, чем это было в прошлом.
В общем, несмотря на весь бэкграунд и тот исторический и информационный шлейф, который тянется за C++, мы считаем, что он стал в разы проще, чем он был до этого, а потому не бойтесь изучать его.
Потому не бойтесь изучать его!
Удачи!