[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Процедурный стиль vs Объектно ориентированное прог
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
twin
Цитата (Arh @ 29.01.2016 - 08:27)
Ну парадигма это и есть стиль.

Да, не так я выразился. ООП это не парадигма и не стиль, это обособленная методология (техника) в рамках структурной парадигмы программирования. Вот так будет точнее.

Как техника пьяной обезьяны (мастера конечно же biggrin.gif ) в кунг-фу.

Но суть посыла, думаю, ясна. Нельзя сравнивать, противопоставлять, а тем более хаять процедурку со стороны ООП, ровно как и наоборот. По сути это одно и то же. И те, кто называет процедурное программирование говнокодом, уподобляется унтер-офицерской вдове.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Эли4ка
Цитата
Как техника пьяной обезьяны (мастера конечно же biggrin.gif ) в кунг-фу.

twin,знаю,что оффтоп,но кунг-фу это путь,а не стиль.У-шу-если Вы хотите подразумевать под этим словом боевые искуства.
Кстати,тот же стиль можно считать классом-так как в нем есть каты,гунфа,техника ногами,удары ногами.
Arh
twin
Цитата
И те, кто называет процедурное программирование говнокодом

Многие думают что в процедурном программировании нету таких вещей, как те же DI и SOLID, наследование и т.д. Без которых становится сложно поддерживать/развивать проект из за гор копипаста.
Не знаю есть ли в процедурном эти подходы или нет, может и есть, но ООП на каждом углу кричит что они есть.

Получается такая история, начинающий пишет как получается, потом он узнаёт что есть MVC и подобное, начинает писать по другому, ему нравится, потом узнаёт про какие то допустим паттерны или принципы, начинает использовать, ему опять нравится, программист развивается и понимает что всё что раньше он делал, это говнокод. Так у всех, вчерашний код всегда говнокод =)
Потом программист начинает придерживаться каких то стандартов типа использовать camelCase или under_score, после чего вчерашний код уже кажется не таким говнокодом, потому что вчера он тоже придерживался выбранного стиля.
Читая всякие статьи про удобные шаблоны проектирования, стили и тд и тп очень часто в заголовке и/или в самой статье упоминается ООП, то есть ООП присваивает объединяет чужие наработки из разных областей под одним стилем.
Люди к этому стилю привыкают, про другие они и не знают, нельзя знать всё.
Может процедурка она вообще лучше всех, кто ж знает, это надо читать, вникать, диссертацию защитить. Нах надо =) Главное что раньше писал говнокод, а теперь ООП =) как обозвать свой старый стиль хз, процедурка, ну пусть будет процедурка.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
twin
Цитата (Arh @ 29.01.2016 - 09:46)
Многие думают что в процедурном программировании нету таких вещей, как те же DI и SOLID, наследование и т.д. Без которых становится сложно поддерживать/развивать проект из за гор копипаста.

Всё дело в том, что не важно, где что существует. Важнее применять инструменты к месту. А те, кто пытается придерживаться "чистого" ООП, не могут себе этого позволить. Вот chee привел пример:
Цитата (chee @ 28.01.2016 - 08:57)
Пример fansoro от Awilum, бессмысленное использование объектов, когда можно обойтись статическими классами.


Они себя ограничили в выборе инструментов, потому что сликом рьяно пытались соответствовать определению "всё является объектом". Не считая статический класс возможным юзать в ООП. А вот допустим Yii2, да и Symfony помоему тоже, ограничения ставят шире. И спокойно используют статику, при этом позиционируясь, как ООП-фреймворки.

Или та же русская википедия ( в английской на радость этого нет), да и не только она, до сих пор проповедуют 2-й принцип Кея.
Цитата
Вычисления осуществляются путём взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие. Объекты взаимодействуют, посылая и получая сообщения. Сообщение — это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия.
А в него никак не вписывается последний тренд - DI. Потому что теперь объект принимает не сообщение, а весь другой объект целиком, надеясь на внутренние взаимодействия.

Свернутый текст
Кстати, к вопросу о DI в процедурке - почему бы и нет. Ведь сейчас аргументом можно передавать не только объекты, но и функции. Вопрос в целесообразности.


И, развивая тему, тот же DIC часто реализуют на замыканиях. А это опять расширение "сферы влияния" ООП.
Тоесть постоянно меняются границы ООП, потому их до сих пор никто не определил. А первоначальные давно уже стерты. Ну вот разве этот постулат соблюдается?
Цитата
Классы организованы в единую древовидную структуру с общим корнем, называемую иерархией наследования. Память и поведение, связанное с экземплярами определённого класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.

Наследование бандой четырех давно уже почти что предано анафеме.

Цитата (Arh @ 29.01.2016 - 09:46)
Читая всякие статьи про удобные шаблоны проектирования, стили и тд и тп очень часто в заголовке и/или в самой статье упоминается ООП, то есть ООП присваивает объединяет чужие наработки из разных областей под одним стилем.
Ничего оно не присваивает и не объединяет. ООП это просто возможность установить границы использования инструментов, чтобы программисты не разбежались кто куда, а ходили строем.

И границы эти устанавливаются каждым сообществом по своему. Оставаясь при этом в общем поле процедурного программирования.

А то, что находится за этими границами, принято называть говнокодом. Это уже вопросы пропоганды. Особо забавно, когда ООПэшники называют говнокодерами друг друга, потому что у них разные представления об ООП. И часто можно видеть холивары не ПП vs ООП, а чей кунг-фу лучше (Эли4ка, я верно теперь сказал?) biggrin.gif biggrin.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.