Перейдя с C# на C++ я по привычке спустя даже годы программирую все следуя ООП, когда это, очевидно, имеет мало смысла в плюсах, повышается уровень абстракции, и вечные обращения от объекта к объекту замедляют программу еще сильнее, размещение памяти в куче, а не стеке и т.д и т.п, НО не смотря на все это я просто не знаю как иначе можно кодить? Подскажите, какие методы применяются в плюсах и в чем их суть?
>>232607208 (OP) «Многие люди, не имеющие представления о том, как работает компьютер, находят идею объектно-ориентированного программирования вполне естественной. Напротив, многие люди, имеющие опыт работы с компьютерами, сначала думают, что в объектно-ориентированных системах есть что-то странное» David Robson
Писал на плюсах и джаве, сейчас перекатился в ds и пишу на питоне по 10 строчек в неделю ) Вообще похуй на каком языке писать, обычно более-менее следую особенностям каждого языка, но для ds это и не особо важно, там такой говнокод от 300к-сениоров встречается который и студенты не пишут
>>232607439 Есть. Можно писать на плюсах и без ооп. Только привычка останется. В си ты просто не сможешь писать ооп(или сможешь, но это то еще извращение).
>>232607208 (OP) Я не программист конечно, но разве плюсы сделали не специально для того, чтобы добавить в си ооп и пару других плюшек, которых там не было в 90-е (или 80-е)? Хотя может и сейчас нет
>>232607208 (OP) Юзаю композицию на шарпах и стек по максимому, в прогерстве нет таблетки от всех болезней, а куча в плюсах по скорости не лучше CLR-овской потому что она же и есть, лол, она же и написана на плюсах
>>232607263 Кек. В СИ все ХОТЯТ кодить в ООП, но частенько это просто заебно и ресурсов нет. (У меня например нет динамического выделения памяти, что бы вменяемо на ООП можно было кодить).
Приходится либо изъебываться, либо писать процедурно. Но если есть возможность писать в ООП - буду писать в ООП даже на С.
>>232607208 (OP) >Перейдя с C# на C++ я по привычке спустя даже годы программирую все следуя ООП В этом семестре лабы по с++? Дебил ебаный, нашел где спрашивать
>>232616120 >У меня например нет динамического выделения памяти Почему? Какой-нибудь тесный контроллер о восьми битах? Или религиозные ограничения уровня misra c?
>>232618581 Оба варианта. В контролируемом тупо нет. В контролирующем стараюсь не использовать без веской на то причины. Легче явно обработать (обработка уровня пизданутся погромче) при переполнении буферов. Чем потом месяцами втыкать, а че он пездается раз в неделю вот там и не пездается тут. Ну или писать обработчики отказа выделения, что один хуй потребует пезднутся, но еще и засрет весь код этим.
Ведь нет вещи, которую может выполнить С, но не выполнит С++ (уверен, что и наоборот тоже), но множество вещей в С++ делается более просто и изящно.
Что по кроссплатформенности — точно не скажу, программы на С++ требуют дополнительную libstdc++. Но, кажется, это не проблема.
Вам говорят истинную правду, когда говорят, что «C++» это маркетинговое название для «Це с классами». Да, это так.
И к самому большему сожалению, в некоторых случаях альтернативы нет. Да, Я еще не встречал ни одного программиста, который в действительно реальной разработке софта активно использовал бы C++ и при этом от него бы не плевался
Как известно C++ был был придуман Страуструпом, мы не будем умалять его «ученные регалии» (ученных-то наград куча, но они по сути единственное чего «добился человек», кстати, 90% прямо или косвенно за c++). Однако, заметим, что Страуструп — как раз есть пример «чистого теоретика» (в отличии от «практика»-Торвальдса), т.е. является человеком за свою жизнь не принимавшим участия в разработке ни одного серьезного реального программного проекта.
>>232615030 > чот сразу пикрил вспомнился Почти весь код на си такой. Дебажил как то openssl, какой же феерический пиздец. Не, я прекрасно понимаю что так быстрее и все такое, но читать это все охуеешь.
>>232619953 > Ты дебил или да? Я против си ничего не сказал. Писать ооп на си - извращение. Это факт. Но практически все проги на си написаны с использованием ООП, лол. Поскольку в сам язык оно не встроено - хуячатся байтодрочерские костыли. Нету классов? Ебанем структурки с указателями на функции. Наследование? Структурки с одинаковым началом - классический пример это наследуемый struct sockaddr, и так далее...
>>232607208 (OP) Зачем тебе? У тебя embedded байтоёбство и ты не можешь себе позволить выделить лишние пару десятков байт на таблицу виртуальных функций? Ну тогда пиши на обычных функциях и структурах, а иначе смысла отказываться от ООП нет.
Блять, вам не похуй, дурачки? Следите за тем, чтоб лишний раз не создать или скопировать ненужную структуру или обьект и всё. А большего и не нужно. Побайтоёбил в своей жизни с UInt8 в который запихивал экспоненту в первые 2 бита и мантиссу в последние 6 и смешно читать о ваших терзаниях, как будто для компа почти не похуй, как ты кодишь, это ж не микроконтроллер.