Прочее компьютерное
Чем сложен язык c++?
Почему язык с++ считают ужасно сложным? Я изучают только его азы и не пойму в чем заключается его сложность. Где же начнутся трудности и что можно учить в языке несколько лет, а то, как говорят и всю жизнь. Ну я понимаю, что нужно учить и разбираться в разных алгоритмах, но они же ведь не привязываются к конкретному языку..
Указатели
Андрей Овчинников
подписываюсь
Два момента:
1) Язык очень обширен. В нём есть МНОГО всего и почти 100% программистов C++ не знают всех его фич. Язык практически полностью включает в себя C, а также ООП, stl и много других вкусностей. К тому же язык постоянно развивается. Только недавно вышел стандарт C++ 11, где добавили потоки, лямбда замыкания, семантику перемещений и многое, многое другое. Компиляторы ещё не полностью поддерживают этот стандарт, но уже вовсю начинается внедрение фишек из стандарта C++ 14.
Вот, посмотри на заголовочные файлы из стандартной библиотеки C++ и скажи много ли ты из них уже знаешь: http://www.cplusplus.com/reference/
А ведь в одном только файле algorithm более 80 различных готовых алгоритмов для работы с контейнерами стандартной библиотеки.
И это только то что входит в стандарт! Помимо этого программистам зачастую приходится работать с распространёнными библиотеками не входящими в стандарт, например QT, Boost и т. д.
2) Многие моменты языка не безопасны. Чаще всего вспоминают работу с памятью. В Jave, C# и др. подобных языках программисту не приходится в явном виде работать с памятью, в C++ же это один из наиболее крупных источников ошибок. В языке просто громадное количество возможностей "выстрелить себе в ногу". Такова расплата за универсальность и быстродействие.
1) Язык очень обширен. В нём есть МНОГО всего и почти 100% программистов C++ не знают всех его фич. Язык практически полностью включает в себя C, а также ООП, stl и много других вкусностей. К тому же язык постоянно развивается. Только недавно вышел стандарт C++ 11, где добавили потоки, лямбда замыкания, семантику перемещений и многое, многое другое. Компиляторы ещё не полностью поддерживают этот стандарт, но уже вовсю начинается внедрение фишек из стандарта C++ 14.
Вот, посмотри на заголовочные файлы из стандартной библиотеки C++ и скажи много ли ты из них уже знаешь: http://www.cplusplus.com/reference/
А ведь в одном только файле algorithm более 80 различных готовых алгоритмов для работы с контейнерами стандартной библиотеки.
И это только то что входит в стандарт! Помимо этого программистам зачастую приходится работать с распространёнными библиотеками не входящими в стандарт, например QT, Boost и т. д.
2) Многие моменты языка не безопасны. Чаще всего вспоминают работу с памятью. В Jave, C# и др. подобных языках программисту не приходится в явном виде работать с памятью, в C++ же это один из наиболее крупных источников ошибок. В языке просто громадное количество возможностей "выстрелить себе в ногу". Такова расплата за универсальность и быстродействие.
главное запомнить
Когда алгоритмы будут такие, что бошка будет кипеть, узнаешь
Похожие вопросы
- Palit Rtx 3060 TI Dual в играх на ультрах 80-84°C - это нормальные температуры для этой карточки?
- Диск C и D
- как освободить место на диске c
- Какая разница между Локальным диском (C) и (C:)
- У меня винда стоит на D: а на C: раньше она была. Вопрос: будет ли винда спокойно грузится если форматнуть C:
- Разбиение диска C: (вн.)
- после разбивки HDD диск C: c программой Acronis не загружается Windows вообще. что делать?
- Как настроить диск C, чтобы на нем не сохранялись данные, а все записывалось на D? А на C остались только программы.
- Я установил виндовс на диск "C" как известно у всех их два C и D
- Пропадает место на диске C