mirror of
https://github.com/salmer/CppDeveloperRoadmap.git
synced 2025-12-17 12:34:37 +03:00
Update Mythbusters
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
# Легенды и мифы про C++
|
||||
|
||||
## Язык C++ умер, на нем невозможно что-либо писать
|
||||
|
||||
Живее всех живых. На сегодняшний день находится в топах различных рейтингов языков программирования и даже набирает очки популярности, например: индекс [Tiobe](https://www.tiobe.com/tiobe-index/). Дурную славу "мертвого языка" он сыскал в нулевые годы, когда язык временно впал в анабиоз, а комитет стандартизации растворился во тьме. Но начиная со стандарта C++11, язык пережил ренессанс. Сегодня он активно продолжает пополняться и обновляться новым функционалом каждые три года. Многие проблемы, о которых заявляют свидетели "мертвого" C++ уже решены, но в силу того, что такие специалисты перестали вести разработку на C++, либо по верхам изучили его в ВУЗе/на курсах (наслушались баек от свидетелей "смерти"), то они продолжают порождать и сеять различные "мифы и легенды" о том, насколько C++ ужасен и страшен.
|
||||
|
||||
## Прежде чем учить C++ необходимо хорошо изучить C/Assembler/etc.
|
||||
|
||||
Нет, нет и ещё раз нет!
|
||||
@@ -22,8 +26,8 @@
|
||||
|
||||
Скорее нет, чем да.
|
||||
|
||||
Современный C++, а также инструментарий, возникший вокруг языка, позволяют избежать львиную долю багов, связанных с неопределенным поведением. Здесь мы можем дать довольно простой совет: если сомневаетесь, что делает та или иная конструкция, то почитайте о ней на [CppReference](https://en.cppreference.com), [StackOverflow](https://stackoverflow.com/) или иных профильных порталах. Если после прочтения констркуция остается непонятной, то попробуйте переписать блок кода альтернативным и более простым способом, чтобы избежать неопредленного поведения. В простоте кроется великая сила!
|
||||
Современный C++, а также инструментарий, возникший вокруг языка, позволяют избежать львиную долю проблем, связанных с неопределенным поведением. Здесь мы можем дать довольно простой совет: если сомневаетесь, что делает та или иная конструкция, то почитайте о ней на [CppReference](https://en.cppreference.com), [StackOverflow](https://stackoverflow.com/) или иных профильных порталах. Если после прочтения конструкция остается непонятной, то попробуйте переписать блок кода альтернативным и более простым способом, чтобы избежать неопредленного поведения. В простоте кроется великая сила!
|
||||
|
||||
## Нужно вручную управлять памятью, это делать крайне сложно
|
||||
## Нужно вручную управлять памятью, в языке нету сборщика мусора
|
||||
|
||||
Современный C++ имеет в составе своей библиотеки набор примитивов, который отвечает за выделение и освобождение памяти. Во многих компаниях и командах вы встретите правило: "не используйте сырых указателей". Ручной менеджмент памяти в современных проектах требуется редко. Опять же, не пренебрегайте современным инструментарием и санитайзерами. Они способны детектировать потенциальную утечку памяти ещё на этапе исходного кода.
|
||||
Это байка также идет от "старогвардейцев", которые перестали писать на языке до появления стандарта C++11, либо от тех, кто поверхностно его изучал в ВУЗе без погружения в последние стандарты. Современный C++ имеет в составе своей библиотеки набор примитивов, который отвечает за автоматическое выделение и освобождение памяти. Контроль за выделением памяти отошел на второй план. Во многих компаниях и командах вы также встретите правило: "не используйте сырых указателей". Опять же, не пренебрегайте современным инструментарием и санитайзерами. Они способны детектировать потенциальную утечку памяти ещё на этапе исходного кода.
|
||||
Reference in New Issue
Block a user