Двач,а поясни за ООП, конкретнее за кастратский ООП у которого отобрали множественное наследование?
Я про Java\C# и прочие "современные" cладкие хлебушки. Меньше ошибок - хуй, "талантливый" погромист обосрётся везде.
При этом: -композиция это "имеет" -наследование это "это" -интерфейс это "может"
В итоге мы можем сгондобить костыль через интерфейс, но чото петушинно оно, да и "не повторяйся" нарушается.
Проще? Так тоже хуй. да и вообще тогда лучший ОО язык это СИ, или вовсе ассемблер, там нету нихуя ООП, а значит проще И да, изосрать весь код смесью говна и спагетти юзая GOTO(C#) значит дохуя пиздато, энтерпрайз и вообще просто, хорошо, читаемо, и сокращает ошибки. А унаследовать от двух классов - нет.
Множественное наследование — признак хуёвой архитектуры, если оно у тебя появилось, значит ты ебаный говнокодер и твою архитектуру нужно рефакторить блядь
В успешных языках пасаны отказались от мн. наследования, чтобы петухи вроде тебя не мешали жить нормальным людям, которым потом в твоём коде разбираться. А чтобы петухам было комфортнее, оставили обрубок в виде интерфейсов — стильно, модно, молодёжно и настолько же уёбищно, насколько уёбищно множественное наследование.
Если тебе, ОП, это удобно — это не значит, что твоё ебаное наследование не приведёт к полнейшему архитектурному пиздецу. Тебе дали композицию — нет, блядь, не хочу, хочу жрать говно.
>юзая GOTO Где ты его нашёл, ёпта? Даже самой зелёной студентоте с первого курса вбивают, что c GOTO кодят только дауны.
>>141227711 (OP) >да и вообще тогда лучший ОО язык это СИ, или вовсе ассемблер, там нету нихуя ООП, а значит проще >лучший ОО язык >нет ООП Ты блять что ?..
>>141227711 (OP) Удачи тебе писать фронт-энд на ассемблере или какой интнрпрайз на с. Каждый язык подходит для каких то задач лучше чем другой. Бизнес вбухивает бабки в то что ему выгодно в долгосрочной перспективе. Это не программист решает какой язык лучше, а рынок.
>>141228915 Интерфейсы это не обрубок. Интерфейсы это способ энкапсуляции твоего кода от клиента. Например есть API и под него можно кодить на чем угодно и как угодно. Клиент будет использовать твой интерфейс и не ебать мозги о том, как там все написано и как оно работает. Через 10 лет всю бизнес логику поменяют, половину девелоперов к хуям уволят, а интерфейс по прежнему будет доступен клиенту, несмотря на то что вся архитектура могла быть поменяна 10 раз.
>>141228640 Зачем ты ему так нагло врёшь? Вот прочитает тебя человек и ассемблером начнёт обмазываться. А там матан, просто пиздец, я написал хеллоуворлд на ассемблере и охуел. Для простейшего хеллоуворлда нужно знать как минимум диффуры, уметь рассчитать pn переход в транзисторе и тайминги для инструкций, это же охуеть можно. Кучу разных областей матана надо знать. А если что-то не так пойдёт, то ещё и ошибки обрабатывать, а это ж пиздец. У меня одногруппник чуть головой после ассемблера с матаном не поехал, благо, как пересадили его с матана на аниме, начало отпускать. Еле-еле третий курс закончил, потом числанули, не выдержал. Не понимаю, как на ассемблере компиляторы пишут, там вообще анхуманы, походу.
>>141229392 >НО ОН ЕСТЬ В ШАРПЕ. Ну вот у тебя есть дрель с насаженным на неё дилдаком. Ты ей каждый день пользуешься ? Правильно, нет, только раз в год когда твоей бабушки дома нет.
>>141228915 Интерфейс -- это контракт, ёпта, так что тут ты не прав. А с остальным, по большей части, согласен. Хочется иметь плюсы мн-го наследования -- юзай композицию или миксины, ОП.
>>141229364 >Интерфейсы это не обрубок. Интерфейсы это способ энкапсуляции твоего кода от клиента. Например есть API и под него можно кодить на чем угодно и как угодно. Клиент будет использовать твой интерфейс и не ебать мозги о том, как там все написано и как оно работает. Через 10 лет всю бизнес логику поменяют, половину девелоперов к хуям уволят, а интерфейс по прежнему будет доступен клиенту, несмотря на то что вся архитектура могла быть поменяна 10 раз. Для библиотек или компонентов, связанных только через этот интерфейс — да, удобненько. Но, блджад, я на своём рабочем проекте насмотрелся деревьев типов навроде IFuck -> AbstractFuck -> BasicFuck -> FuckYouLeatherMan (с указателем на FuckYouLeatherManImpl). Причём это и есть полное дерево, больше никакие классы от IFuck/AbstractFuck не наследуются. Пиздец короче.
>>141227711 (OP) Множественное наследование не нужно. Потомучто никто(98% кодеров) не разберется в коде мудака, которому захотелось наследоваться от нескольких классов 15_лет_в_продакшоне-кун
>>141229591 Сначала взаимоисключающие параграфы, затем это. Я не понимат вообще. С# не полноценный ОО-язык. В ANSI С нет ООП. Ты мудак. Множественное наследование не нужно. <- Личное мнение. Сажа, скрыл.
>>141230272 Именно. Язык поддерживает ООП - значит оно в нем есть. А так, конечно, парадигма живет в голове и является мышлением - тогда какой смысл поднимать вопрос ее существования в языках если она есть везде? Речь о поддержке. Все, иди нахуй. Покормил.
Почему это? Ты просто можешь просто сделать инкапсулировать внутри несколько объектов классов, которые ты хочешь отнаследовать, по факту -- решение, которое, к тому же, не засоряет тебе класс. В некоторых языках миксины выражаются через наследование, в том числе и мн-е, но с ограничениями на него.
>>141231098 >А потом поубирают лямбды Чур тебя, чур. У меня горит пердак от C++03, в котором лямбд конкретнее — замыканий нет ВООБЩЕ. Куча крутых решений идёт нахуй в угоду сраного велосипедирования.
>>141227711 (OP) >>-интерфейс это "может" >>В итоге мы можем сгондобить костыль через интерфейс, но чото петушинно оно, да и "не повторяйся" нарушается.
Джуник не палится. Иди читай про разницу между интерфейсом и абстрактным классом. А потом возращайся.
>>141230596 если бы обсужадемый вопрос меня волновал, то больше интересовало бы мнение алана кея, греди буча, люка карделли итд, а так детский сад какой-то. из того с чем приходилось сталкиваться, в c++, java, js, Python, R, везде сделано по-своему, а проблемы вида "вот тут мы пишем код в два раза дольше, потому что нет множественного наследования" возникают реже раза в год.
>>141231543 А разве кто-то запрещает использовать IS-A? Просто, если нужно мн-е наследование, то чаще всего оно просто не нужно и признак не очень хорошей архитектуры. Даже не из за того, что это не отображает, быть может, предметную область, а потому, что это ОЧЕНЬ ТРУДНО ОТЛАЖИВАТЬ и искать ошибки. Всегда можно нормально рефакторнуть и прийти к компромису: описание предметной области и при этом, хорошо поддерживаемый код(часто они идут вместе). А по факту, весь этот срач про ООП и что там чище, есть ли полное соответствие SOLID везде заканчивается там, где начинается практика. Только там ты поймёшь и узнаешь: зачем, почему и как. Все юзкейсы зависят от задач и предметной области, да и все принципы, паттерны пришли от конкретных задач.
>>141232805 Я когда не знал про лямбды, мне было хорошо и спокойно, а сейчас я без них жить не могу. Такс, надо это теперь провернуть с этим вашим multiple dispatch, пойду прокрую что это такое. Обрекаешь людей на страдания, анон!
>>141232785 Весь твой код преобразуется в сущий высер на машинном, из-за таких как ты и задаются невероятные системные требования в играх и программах.
>>141232296 Знаешь, это звучит очень хорошо в теории, но на практике ты сталкиваешься с кучей сопутствующих проблем: время, читабельность кода, покрытие тестами, ненужность преждевременной оптимизации. Это нужен опыт, чтобы понять где я могу наебашить "строителя", а где лучше обойтись "телескопическим конструктором", например. Я просто помню свой первый мини проект рабочий и я конечно захотел сделать пиздато, с шаблонами, красивой архитектурой(например, там можно было делать замену парсеров, стратегии обхода деревьев и пр.). Это конечно получилось, но итог: я потратил кучу времени на поддержку ненужных фич(ток жсон парсить, да), которые нахуй никому не всрались и на красивый код, проебал срок,а по коду были разбросаны ненужные там шаблоны.
>>141232956 А мне вообще норм, зачем ориентироваться на 1% нищебродов, которые не могут позволить себе нормальный комплюктер? Скорость разработки — охуительное преимущество, ради которого можно положить с прибором на низкоуровневый дроч в никуда.
Сап, двач. Хочу пояснить тебе за такую хуйню как КОНКУРЕНЦИЯ. Вот смотри. Рубль упал, время непростое, количество рабочих мест сокращается. Да ты и сам или твои родители испытали на себе сокращение. Но тем не менее каждый день здесь проскакивает как минимум 1 тред о вкатывании в программирование. И при этом находятся те, кто готов помогать левому хую, советовать куда обращаться и какие технологии учить. ЗАЧЕМ? Ты понимаешь, анон, что чем больше мудаков вкатится в айти, тем меньше у тебя будет зарплата и тем выше шанс, что тебя просто пидорнут? Работодатели и так смекнули, что бывает выгоднее взять три залупы после универа с горящими глазами, которые будут въебывать по 12 часов, получая при этом копейки, чем одного мидла. В 40 лет у тебя будут серьезные проблемы с тем, чтобы задержаться в профессии, если только не свалишь за бугор. Или вот. Совсем недавно тестировщики получали хорошие деньги. Буквально год назад туда повалило очень много скама с улиц - и зарплата просела. ТЫ этому поспособствовал, если давал советы в таких тредах. Вместо того, чтобы вайпать или хотя бы игнорировать тред, ты помогал вчерашнего официанту и быдлосу с завода, который в школе тебя гнобил, вкатиться в программирование. Ты не только не получил НИКАКИХ профитов с этого многие хуи на этой борде даже спасибо не говорят, но и ухудшил свое положение как специалиста. Это банальная статистика. Думаешь, быдлос - тупой и не сможет в кодинг? Ошибаешься. Он может и тупой, но его можно надрочить на выполнение однотипных задач. То, что раньше ты выполнял сам, сейчас будет делать он, а твоя квалификация постепенно станет не нужна. Да, ему будут платить не больше чем платили на заводе, но теперь станет выгодно иметь 1-2 координаторов сильных синьоров и десяток обслуживающего скама, который вчера разносил пиццы. А вот тебе попасть в эти 1-2 синьора станет значительно сложнее, потому что спрос на них, как видишь, упадет, а предложение не изменится никто из нынешних синьоров не захочет съябывать в макдаки и другие сферы, уж поверь. Уже сейчас выпускник может знать новые технологии лучше, чем программист с 5 годами опыта. Так что не способствуй тому, чтобы в айти лезло всякое говно, выталкивая тебя оттуда.
>>141233947 Ну ты же понимаешь как смешно выглядит такой пост от анимешного придурка? Это как если бы быдлюк бухал на лавочке с друзьями пивас и рассуждал о политике, например.
Тред не читал. Пришел к выводу, что большая часть паттернов проектирования нужны далеко не всегда, и нужно четко понимать зачем если решишь их использовать. Фактори не нужны если кодишь под конкретный проект, т.е. под одного пользователя своих решений. Разделение по слоям тоже не особо нужно если один фронт. Непонимание приводит к большому количеству бойлеркода и потерянным человекочасам. Понимание приходит с опытом. Спите, завтра на работу.
>>141233006 >рабочий и я конечно захотел сделать пиздато, с шаблонами, красивой архитектурой(например, там можно было делать замену парсеров, стратегии обхода деревьев и пр.). Это конечно получилось, но итог: я потратил кучу времени на поддержку ненужных фич(ток жсон парсить, да), которые нахуй никому не всрались и на красивый код, проебал срок,а по коду были разбросаны ненужные там шаблоны.
>>141233321 это все справедливо может только для рашки-пидорашки Нормальные синборы давно кодят на белых господ, которые живут в странах, где спрос на дешевого относительно белого сеньора достаточно высок. Нахера платить >10к синьору из сшашки если можно отдать 4к нашему и будет тоже самое? То то и оно.
>>141247639 Пики то забыл. Онли для интереса пилишь, или с прицелом на работку? Я б хотел для мк писать, но туда довнов не берут. А еще вопрос, без покупки железа ведь никак?
>>141230692 Я не понимаю эту картинку. Статическая типизация нужна чтоб исключить проблемы с несовместимыми типами. Когда пытаются один обьект использовать в том месте где ожидается другой. Это исключает тонну ошибок еще на стадии разработки.
ide нужен для рефакторинга, организации проекта, подключения модулей, еще уйма всяких полезных функций. Неужели кто-то кодит в блокноте?
Помимо нетбинса еще есть несколько альтернатив. Да и нетбинс не плохой.
Памяти не так уж много хавается если писать адекватный код. Да и не 96 год сейчас чтоб каждый бит считать. Если это конечно не код длякакой-то встроенной железки.
Что не так с указанием типа обьекта с которыми работает коллекция? Чем это кого то травмирует?
Я про Java\C# и прочие "современные" cладкие хлебушки.
Меньше ошибок - хуй, "талантливый" погромист обосрётся везде.
При этом:
-композиция это "имеет"
-наследование это "это"
-интерфейс это "может"
В итоге мы можем сгондобить костыль через интерфейс, но чото петушинно оно, да и "не повторяйся" нарушается.
Проще? Так тоже хуй. да и вообще тогда лучший ОО язык это СИ, или вовсе ассемблер, там нету нихуя ООП, а значит проще
И да, изосрать весь код смесью говна и спагетти юзая GOTO(C#) значит дохуя пиздато, энтерпрайз и вообще просто, хорошо, читаемо, и сокращает ошибки.
А унаследовать от двух классов - нет.