> Классы, объекты, конструкторы, наследование, полиморфизм
Это есть в любом ООП языке.
Что сложного в C++ – это трудно перечислить. Есть много мелких сложностей в разных темах C++. Отчасти причина в том, что C++ ориентирован на высокую производительность, и некоторые элементы C++ нужны исключительно из-за этого.
Пример запутанной темы: https://habr.com/ru/post/157961/
Ещё сложная тема https://ru.wikipedia.org/wiki/Вариативный_шаблон
C/C++
Что сложного в этом вашем Си плюс плюсе? Классы, объекты, конструкторы, наследование, полиморфизм?
Ничего сложного. Чем проще язык, тем сложнее на нём писать. Сложность не в языке, а в программистах. Надо соблюдать дисциплину очень жёстко, а не хочется....
Санжарбек Сатыбалдыев
Назвать C++ несложным языком может только человек, который не знает C++.
> Чем проще язык, тем сложнее на нём писать.
Да, обычно это так. Но в C++ много "лишних" сложностей: это особенности языка, которые нужны только для оптимизации. Ещё, некоторые вещи в C++ просто неудачно придуманы, получается бессмысленная сложность.
Простой язык, на котором сложно программировать - это Си, а не C++.
> Чем проще язык, тем сложнее на нём писать.
Да, обычно это так. Но в C++ много "лишних" сложностей: это особенности языка, которые нужны только для оптимизации. Ещё, некоторые вещи в C++ просто неудачно придуманы, получается бессмысленная сложность.
Простой язык, на котором сложно программировать - это Си, а не C++.
В широте возможностей и извращенной фантазии кодеров.
Так накодют что потом лопатой не разгребешь
Так накодют что потом лопатой не разгребешь
Шаблонные классы создают путаницу. Указатели тоже довольно замороченная тема
статическая типизация не нравится.
Barber Nv
Гхм.. а вот некоторые двуногие TypeScript придумали. И считают что совершенно не напрасно ;)
Начнем с обязательной поддержки чистого Си (ANSI C) и всех его *кхм* нюансов... (malloc вместо new хотя бы)
Вы перечислили концепции и один метод из ООП (кстати, забыли про абстракцию и инкапсуляцию).
И вы вообще про какой C++ говорите? 98, 03?А может и 14 и выше?
Или просто "си с классами"?
Для кого-то представляют сложность указатели. Кстати, вы пытались найти утечку памяти в коде на почти тысячу строк? Незабываемые ощущения.
Так что ручное управление памятью тоже может стать серьезным камнем преткновения.
А может сложна какая-то конкретная область использования... Вы попробуйте бэкенд на плюсах запилить (кстати, вполне возможно, хоть на си пишите).
Ну и, конечно же, все в этом мире относительно. Плюсы явно сложны для того, чтобы устроиться на первую работу.
Вы перечислили концепции и один метод из ООП (кстати, забыли про абстракцию и инкапсуляцию).
И вы вообще про какой C++ говорите? 98, 03?А может и 14 и выше?
Или просто "си с классами"?
Для кого-то представляют сложность указатели. Кстати, вы пытались найти утечку памяти в коде на почти тысячу строк? Незабываемые ощущения.
Так что ручное управление памятью тоже может стать серьезным камнем преткновения.
А может сложна какая-то конкретная область использования... Вы попробуйте бэкенд на плюсах запилить (кстати, вполне возможно, хоть на си пишите).
Ну и, конечно же, все в этом мире относительно. Плюсы явно сложны для того, чтобы устроиться на первую работу.
Самое сложное это надеть кожанную fist перчингтку (latex glow)
то, что он помойка и то, что почти никто не знает, что на этой помойке съедобно, а что нет, и как есть то, что съедобно.
он помойка. изучив какую-то фичу (примеры: указатели, массивы, ручной аллок памяти, строки на char[], любая фича из чистого Си) тебе надо не начинать использовать ее, не пытаться понять ее и не видеть ничего вокруг, а хорошенько убедиться, нету ли другой фичи, получше, иначе рискуешь писать код так, что ничего работать не будет.
это все равно что завести голубя в комнате набитой вещами и каждый день проверять, не насрал ли он где. именно так должно выглядеть изучение C++ без наставника-профессионала.
сейчас я акцентировался на том, что он помойка, а ведь второй недостаток, что никто не знает как на нем правильно писать, тоже существенный.
и касается не только самого языка и стандартной библиотеки.
есть библиотека Boost и она позволяет реализовать на нем то, что можно на других языках, а на нем без нее нельзя, и даже то, чего и на других языках нельзя.
но будучи этим вашим школьником, который впервые увидел библиотеку с крутым многообещающим именем, который пусть даже очень хорошо умеет гуглить, но не умеет пользоваться реальными проектами на гитхабе для поисков примеров кода (потому как для других языков это на уровне школьника не нужно), невозможно понять, как хоть что-то из этого применить.
школьник максимум возьмется за кутэ (Qt), благо там гуй есть и дока получше и вообще все попроще. но учитывая специфику применения С++ -кутэ является скорее дополнением или даже извратом, а не основным направлением деятельности - C++ это не C# для простеньких прикладных прожек с гуем..
он помойка. изучив какую-то фичу (примеры: указатели, массивы, ручной аллок памяти, строки на char[], любая фича из чистого Си) тебе надо не начинать использовать ее, не пытаться понять ее и не видеть ничего вокруг, а хорошенько убедиться, нету ли другой фичи, получше, иначе рискуешь писать код так, что ничего работать не будет.
это все равно что завести голубя в комнате набитой вещами и каждый день проверять, не насрал ли он где. именно так должно выглядеть изучение C++ без наставника-профессионала.
сейчас я акцентировался на том, что он помойка, а ведь второй недостаток, что никто не знает как на нем правильно писать, тоже существенный.
и касается не только самого языка и стандартной библиотеки.
есть библиотека Boost и она позволяет реализовать на нем то, что можно на других языках, а на нем без нее нельзя, и даже то, чего и на других языках нельзя.
но будучи этим вашим школьником, который впервые увидел библиотеку с крутым многообещающим именем, который пусть даже очень хорошо умеет гуглить, но не умеет пользоваться реальными проектами на гитхабе для поисков примеров кода (потому как для других языков это на уровне школьника не нужно), невозможно понять, как хоть что-то из этого применить.
школьник максимум возьмется за кутэ (Qt), благо там гуй есть и дока получше и вообще все попроще. но учитывая специфику применения С++ -кутэ является скорее дополнением или даже извратом, а не основным направлением деятельности - C++ это не C# для простеньких прикладных прожек с гуем..
Похожие вопросы
- Знатоки ассемблера и си, плюсов прошу помочь
- Программирование на С++(Классы-объекты)
- В QtCreator для Qt 4.8 (и 5 может также), у класса формы главной, функция конструктор, делает не понятное наследование?
- Создать простой класс, конструктор, и несколько функций. Не могу решить задачу, плохо понял тему, помогите пожалуйста.
- Написать программу на C++.Создать класс vector3d, задаваемый тройкой координат. Создать конструктор...
- Программирование, динамическое выделение памяти в конструкторе класса
- Подскажите, имеет ли сейчас смысл учить простой Си? не плюсы
- Лабораторная работа. Классы. Передача объекта в качестве аргумента.
- Доработка класса. Создание массива объектов
- Компилятор ворует rvalue конструктор!
Удачи с отладкой шаблонов, Санёк.. Вы просто ещё пороха не нюхали...