Двач, блэд хочу вкатить объекто-оринтированное программирование С++. Посоветуйте какие нибудь книги или выжержки из них. Может какой нибудь код для примера. Хочу посмотреть что и как и какие подводные камни.
>>1088191 (OP)>хочу вкатить объекто-оринтированное программирование С++Соболезную.
>>1088191 (OP)Не лезь блять дкбил
Уже очко рвется с некоторых примероа...
>>1088191 (OP)СИКП 3-я глава. Это не шутка. Лучше ничего нет.
>>1088222поэтому все так плохо
>>1088191 (OP)https://www.youtube.com/watch?v=QM1iUe6IofM
>>1088849https://youtu.be/lfdAwl3-X_cЗаебали со своим ООП динаялом.
>>1088191 (OP)Smalltalk. Базарю, попробуй ещё захочешь!
>>1088851вроде взрослый человек, а такую хуйню несет.
>>1088874Прикинь, немутабельные объекты. Играешь себе в игрушку. Тебе сняли ХП. Всё, другой объект.
>>1088874он просто западный видосс перевел, лень искать оригинал
>>1088875>Тебе сняли ХП. Всё, другой объект. cheat engine соснулей
>>1088191 (OP)Мне интересно, где ОПушке впарили это говно - ООП под видом конфетки? У нас в вузах до сих пор продолжают веровать в ООП, в то время как в остальном мире все уже поняли что ООП это примерно такая же ""хорошая"" вещь как С++.
>>1088851>что такое объект в ООП?>это живой организм
>>1088894А что, придумали что-то лучше C++ для систем, где нужно быстро? (там где жаба уже не справляется) Rust пока не вариант, экосистема еще не доросла до нужного уровня
>>1088851Посмотрел его лекцию. Какой же он долбоеб. С чего он решил что его ОО подход более лучший чем классический императивно-оо подход? Он наверное еще ни одного функционального языка не изучал, ему точно сорвало бы тогда крышу от какого-нибудь хаскеля. Лол.
>>1088912Так С же. С++ никогда не применяли где нужно быстро, С++ это далеко не быстро ( до тех пор пока ты не пишешь на С с классами )
>>1088919>Так С жеВо всех более менее крупных проектах "няшная" мутирует в доморощенные кресты, воспроизводящие всю жопоеблю, включая виртуальное наследование с таблицами указателей на функции и "this".
>>1088919Вон анон уже ответил. Я имел ввиду не ОСи, а скорее банкинг/трейдинг.
>>1088922Ох лол. Тебе наверное виднее с дивана. Расскажи это ребятам, которые пилят ядро линукс ( а так же виндос макос и всем OSdev'вам ), все проекты GNU, ребятам занимающимся драйверами, и остальной системщиной, электроники, разработчикам баз данных, и многих высокопроизводительных систем. Я уже не говорю что 90% всех либ, пишется на С.
>>1088927Так вроде отказываются в пользу всяких ГО, не? мимо
>>1088928В ядре не всегда есть куча ("heap"), так что там кроме C выбора нет.
>>1088910>это живой организмпока к нему не подключили систему логов, менеджер транзакций, верификацию полей, защита от вызова методав сервиса в зависимости от ролей
>>1088932>В ядре не всегда есть куча а как же джава которая на утюгах должна работать
>>1088935Так она на телефонах NOKIA выполнялась с помощью сопроцессора, который отправлял сообщения полноценной операционной системе, Symbian, а уж она на Сижке была написана.
>>1088848Че серьезно. Мало кто читал СИКП. Еще меньше читали 3 главу. Но те кто прошли СИКП, превосходят мастерстве тех кто не читал.
>>1088941>Но те кто прошли СИКП, превосходят мастерстве тех кто не читал. так и я в 30 лет волшебником стал не то что остальные
>>1088191 (OP)Объектно-ориентированный c++ устарел, сейчас в моде функциональное метапрограммирование на шаблонах.
>>1088966> функциональное метапрограммирование на шаблонаха в реальности заказчик просто наймет 20 индийских байтоебов
>>1088989Которые заруинят проект.
>>1088966> в моде функциональное метапрограммирование на шаблонах.Цитата - бессмысленный набор слов, значения которых ты не знаешь.
>>1089030
>>1088191 (OP)Я знаю чего у людей бомбит от ооп. Для всякой мелкой поебни он абсолютно не нужен, а крупной они никогда не занимались, а если пытались, то не смогли разобраться. Если ты строишь сарай, то тебе не нужны инструменты архитектора, а именно этим Ооп и является. К сожалению, синтаксис С++ абсолютно уебищен для ооп и может размазать простые логические конструкции в трудночитаемое пятно кода, поэтому там, где скорость в милисекундах не важна, лучше использовать хотя бы c#.Я бы посоветовал не ставить себе задачу "выучить ООП", а какую-то более конкретную "Разобраться в коде программы ХХХЪ", или "Устроиться на работу в компанию УУУ". Таким образом ты сможешь выучить именно необходимый минимум и потом уже строиться на нем.Попробуй для начала покопаться в чужом коде. Например, напиши аддон для какого-нибудь популярного софта. Обычно сдк идет с примерами для VS и методом тыка можно понять что к чему. Если примеры сдк не компилятся из коробки(а обычно они не компилятся), почитай их мануал.
>>1089053Сразу вычислил макаку по его наивному манямирку и упоминание VS, сравнивающую синтаксисы, а не семантику языков, не понимающую вообще ничего в парадигмах программирования и в проектирование систем.Иди нахуй. Классический ООП не решает никакую из проблем вообще, а только создает их.Хочешь писать читабельный код в крупных проектах, пиши в процедурно-функциональном стиле, не смешивай данные с логикой. Используй чистые функции. пишу на С крупные проекты
>>1088989>>1089030>>1089053Если че STL написан полностью в ФП стиле. Оправдывайтесь.
>>1089053Уже весь мир, даже хипстеры догнали, что изменяемое состояние зло. А ты тут поешь про крутость ООП. Ты не писал больших проектов. Иначе бы понимал всю боль императивного кода.
>>1089066STL используют либо маргиналы либо пидарыОправдал
>>1089073Миллион мух не могут ошибаться?
>>1089073Лисп тоже только маргиналы используют, но это мощнейший язык программирование, и при этом простой.
>>1088989Процедурный и функциональный стили противоположны друг-другу если что.
>>1089123>>1089064мисанул, соре
>>1089067Очередная священная корова дурачков. Им лень синхронизировать классы, поэтому в своем манямирке они решили, что изменяемые объекты не нужны.
>>1089064Ты пишешь хуйню. Ты даже не понимаешь, что объект - это и есть данные. Модель данных, которая инкапсулируюет в себе данные и предоставляет безопасный абстрактный интерфейс для работы с ними.
>>1089169>синхронизировать потокификс
современое ООП:толпы быдла долбятся головами об стену невидя двери - для них выпиливают люк.
>>1089171Иди нахуй. Даже не стал читать этот высер, а просто обдал джава-дебила мощнейшей струей золотистой жидкости, насрал ему за шиворот и подтерся его прыщавым ебальником.
>>1089066>STL написан полностью в ФП стилеа потом приходится писать программы чтобы расшифровать сгенерированный типhttps://www.codeproject.com/Articles/1367/An-STL-Error-Message-Decryptor-for-visual-C
>>1089176в дверь могут пройти только несколько человек, но они уже не программируют а проводят лекции за далары
>>1088927>все проекты GNUhttps://ru.wikipedia.org/wiki/GObject
>>1088191 (OP)>Может какой нибудь код для примера. Самый идеальный код на плюсах это код Кармака. Но если ты собрался например в энтерпрайзе легаси-говно пердолить на плюсах, то тебя с Кармаковским стилем нахуй пошлют, потому НЕДОСТАТОЧНЫЙ УРОВЕНЬ АБСТРАКЦИИ.
>>1088935Для начала нужно на сях написать виртуальную машину которая на этом утюге будет крутиться. Так что не всё так просто.
>>1090278>код Кармакаа платить тоже будут как Кармаку?
>>1090278Кармак делал игры. Код в играх имеет другие требования и сильно отличается от остального кода.
>>1090278Щас бы на плюсах абстракции писать.Это блять примерно как на хаскеле ОС писать.
>>1088191 (OP)но цпп не объектно-ориентированный язык
>>1088191 (OP)Тебе это не нужно., поищи какое нибудь другое занятие. Мало хотеть, анимудибил
Простите, здесь тред даунов-идиотов которые не понимают о чем говорят и страдают легкой формой "ясижувтредахвместотогочтобыработатьнояжалуюсьвсемчтоничегонеумеюивечнопрошулитературу"?
Можно ли в C++ каким-то образом определить часть класса в одном namespace, а часть - в другом?Мне это нужно, чтобы скрыть часть классов в библиотеке от пользователя, но при этом, чтобы методы этих классов были доступны в private-методах других классов.
>>1092542ключевое слово friend
>>1092552Пользователь ведь тогда тоже сможет вызывать эти методы.
>>1088191 (OP)>объекто-оринтированное программирование>2017you gonna do it wrong
>>1092542PImpl
>>1092583it was never right
>>1092542Нет, С++ настолько ущербен, что об этом не стали задумываться и теперь тебе надо ебаться со всякими паттернами типа pImpl, что во-первых выглядит уебищно, во-вторых вносит дополнительный слой говна в код, в-третьих, удваивает твою работы по написанию кода.
>>1092542@instance variables
>>1092624That's true. Op, spend your time on Haskelland you will be rewarded!