Другие языки программирования и технологии
Почему c++ считается очень сложным языком программирования?
Сложен он только если учить каждую мелочь. Если не использовать того, что не знаешь, то он очень даже простой. Условия, циклы, переменные, функции - это всё просто. Вот в вектора сунешься - там мозгоёбство ИМХО. Пока сам туда не лез - нет желания.
Руслан Карамсаков
Молодец! буду учить каждую мелочь
Денис Тельнов
std::vector?Ты про его использование что ль?
Потому что делает очень мало ограничений для программиста, чтобы можно было выжать из кода максимум. А значит, можно накосячить 1001 способом и даже не заметить. Например, C++ не проверяет границы массивов; так, все массивы нумеруются с 0, но a[-5] - корректное выражение (а иногда даже полезное).
Хайрулла Карсенбаев
ЗЫ так называемая индексация по факту - смещение по памяти на определённое число адресов, и массивов по хорошему вообще нет.
Т. Е.
int a;
(&a)[5] = 6;
std::cout << (&a)[5];
Точно так же работает...
Хотя да, стрёмно выглядит, не спорю...
Т. Е.
int a;
(&a)[5] = 6;
std::cout << (&a)[5];
Точно так же работает...
Хотя да, стрёмно выглядит, не спорю...
Потому, что в этом языке много возможностей. С одной стороны он универсальный, а с другой на нем можно написать программу ориентированную на конкретную модель процессора точнее архитектуру процессоров. Кроме того, в языке C++ поддерживается много возможностей, которых в других языках попросту нет: множественное наследование классов, шаблоны и т. д.
Кроме того, на практике вы работаете с конкретным компилятором (реализацией языка). Большинство разработчиков компиляторов предлагают те или иные полезные расширения.
Все вместе это делает язык достаточно сложным.
С другой стороны, когда появляется какой-нибудь новый язык программирования или нужно осваивать другой, то программисты шутят: "А, это очередной Бейсик.... Разберемся."
Кроме того, на практике вы работаете с конкретным компилятором (реализацией языка). Большинство разработчиков компиляторов предлагают те или иные полезные расширения.
Все вместе это делает язык достаточно сложным.
С другой стороны, когда появляется какой-нибудь новый язык программирования или нужно осваивать другой, то программисты шутят: "А, это очередной Бейсик.... Разберемся."
Он для виртуозов программирования.
когда требуется высокая скорость пишут на С++
это связано с тем, что С++ не делает лишних движений
предполагается, что программист умнее компилятора и действительно знает, что делает
например, С++ не станет обнулять переменную
он даст её как есть, с тем значением, что было в памяти (так называемым мусором)
вдруг тебе просто нужна переменная, чтобы записать туда 256, зачем тебе сначала писать туда 0
он даже даст использовать это значение
если это указатель - позволит обратиться по этому адресу
массив это адрес первого элемента в блоке
хочешь пятый элемент - двигайся вперёд на пять элементов
ты ведь знаешь, что делаешь и вероятно выделил память для пяти блоков, а не четырёх
хочешь минус первый элемент - пожалуйста, ты ведь знаешь, что делаешь
никаких лишних движений, никаких вопросов
ты управляешь самолётом вручную и если ты разбился - ты плохой пилот
это связано с тем, что С++ не делает лишних движений
предполагается, что программист умнее компилятора и действительно знает, что делает
например, С++ не станет обнулять переменную
он даст её как есть, с тем значением, что было в памяти (так называемым мусором)
вдруг тебе просто нужна переменная, чтобы записать туда 256, зачем тебе сначала писать туда 0
он даже даст использовать это значение
если это указатель - позволит обратиться по этому адресу
массив это адрес первого элемента в блоке
хочешь пятый элемент - двигайся вперёд на пять элементов
ты ведь знаешь, что делаешь и вероятно выделил память для пяти блоков, а не четырёх
хочешь минус первый элемент - пожалуйста, ты ведь знаешь, что делаешь
никаких лишних движений, никаких вопросов
ты управляешь самолётом вручную и если ты разбился - ты плохой пилот
Слишком много всего понапихано, посмотри стандарты недавние
что в языке вообще есть
что в языке вообще есть
Плюсы сложны по сравнению с каким то другим.
Сложен не может отдельно он быть.
ЗЫ как по мне, плюсы - это компромис сложность/функциональность
Сложен не может отдельно он быть.
ЗЫ как по мне, плюсы - это компромис сложность/функциональность
из-за undefined behavior
Диман Никитин
ну не столь уж это страшная вещь, просто не надо это использовать)
как например:
bool b[1];
switch (*b)
{
case true: case false: cout << "you will not see this" << endl; break;
default: cout << "yeap, undefined behavior" << endl;
}
как например:
bool b[1];
switch (*b)
{
case true: case false: cout << "you will not see this" << endl; break;
default: cout << "yeap, undefined behavior" << endl;
}
Он абсолютно не сложен если не учить каждую заскриптованную функцию
Руслан Карамсаков
Спасибо за ответ на вопрос 2 летней давности
Очень сложным его считают глупые люди... Не будьте глупыми, учитесь ;-)
Kostja Kerlin
Нет, не сложным его считают только те, кто его вообще не знает. C++ настолько огромен, что знать его целиком практически невозможно, особенно, особенно учитывая, что стандарт обновляется каждый три года. Сколько за последние годы было добавлено новых библиотек из того же Boost'а...
Потому что у него другая философия. В Си: "Это нужно убрать, эта деталь точно не нужна. А вот это увеличит функциональность..",после чего получается минималистический, но функциональный язык. А в плюсах:" Мне нравится Си. А ещё нравится ООП. Давайте соединим их и прикрутим никому не нужные костыли, которые только мешают?".
Выходит cv+
Похожие вопросы
- Почему язык программирования C++ считается одним из самых сложных языков программирования?
- (c#)Что значит знать язык программирования
- C# - это объектно ориентировочный язык программирования? Чем он отличается от C++? Для каких ОС его лучше использовать?
- По C#. Хочу выучить этот язык программирования, но понятия не имею с чего начать. Подскажите с чего можно начать?
- какой самый сложный язык программирования?
- Какой самый сложный язык программирования?)))
- Почему бы не создать идеальный язык программирования?
- Почему се считают Delphi ужасным языком программирования?
- Почему Delphi хуже чем другие языки программирования?
- Вопрос по языку программирования C# (СиШарп) (очень простой вопрос)