Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (13) « Первая ... 9 10 [11] 12 13  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Процедурный стиль vs Объектно ориентированное прог
 
Опрос: Какой стиль програмирования вы используетете
Только Процедурный [ 5 ]  [19,23%]
Только ООП [ 14 ]  [53,85%]
ООП когда требует клиент, так процелурный [ 0 ]  [0,00%]
претваряюсь что пишу ООП (создаю классы, методы), а использую процедурный [ 3 ]  [11,54%]
ООП когда большой проект, а сам использую процедурный [ 4 ]  [15,38%]
Всего голосов: 26
  
twin  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 2 месяца
Карма: 299

Трезвый :
5 лет, 11 месяцев, 10 дней


Цитата (chee @ 28.01.2016 - 15:13)
Ну естественно, но учти ООП уже привысил возрасту существования процедурного программирования как основной парадигмы для написания программ.

Но при этом процедурка никуда не делась. И не денется, какими эпитетами её бы не наделяли. Впрочем как и ООП. Просто все придет к логическому завершению - нивелируются недостатки обоих путем компромиса. Того самого микса.
Цитата (chee @ 28.01.2016 - 15:13)
ООП уже давно не модная тенденция, это зрелая технология.

Ну вот какая же она зрелая, если не имеет четкого определения? Причем за долгий срок своей "зрелости", как ты сам заметил, так никто и не удосужился разработать четкую концепцию.

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

Им правят функционеры. Те самые,
Цитата
целью которого была промывка мозгов людям на улицах.


И вот еще что. Почему то практически все мейнстримные языки (включая JAVA) мультипарадигмальны. И в одно ООП никто не уперся, развивают сразу несколько направлений. Все таки знают люди что то. smile.gif Тылы прикрывают.

Цитата (chee @ 28.01.2016 - 15:13)
Так что тебе придется смериться с ООП и его адептами, лол

Да, ты прав. Придется. Но жизнь сама расставит все по полочкам.


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

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

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: 70




А давайте вы решите задачу на ООП и процедурке =)

Задача:
Если любое входное слово.
У слова есть первая буква.
На основе этой буквы нужно вернуть какой то цвет типа blue, red, orange, lightblue.
При этом неизвестно сколько букв, неизвестно какого алфавита, они как то задаются конфигурацией.
При этом неизвестно сколько цветов, они как то задаются конфигурацией.


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 2 месяца
Карма: 299

Трезвый :
5 лет, 11 месяцев, 10 дней


Цитата (Arh @ 28.01.2016 - 16:21)
А давайте вы решите задачу на ООП и процедурке =)

Мы уже пытались biggrin.gif Смысла в этом нет. Кроме того, я не приверженец процедурного программирования. Я вообще против "доминантной" парадигмы. Что удобнее, оптимальнее для решения текущей задачи, то и нужно юзать.

Впрочем инициатива наказуема. Попробуй сам) Ты вот куда галочку поставил при опросе?



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

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

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: 70




Блин не получилось на халяву решение получить)
Я не голосовал, потому что не знаю ответа)
Да и пунктов в опросе явно не хватает.


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 11 месяцев, 29 дней
Карма: 10




Цитата (twin @ 28.01.2016 - 20:34)
Что удобнее, оптимальнее для решения текущей задачи, то и нужно юзать.


голосую за этот способ, но его нету в опросе. Ну а так, не знаю где граница между ООП и процедуркой, если в проекте 70 процентов на объектах построено или наоборот, то это к чему относить, ... ах да, к смешанному. Тогда исключительно смешанный. Только что б работало, и сводилось к минимум затрат на время написания и обслуживание проекта.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14966
Пользователь №: 4190
На форуме: 8 лет, 9 месяцев, 26 дней
Карма: 443




Цитата (Arh @ 28.01.2016 - 20:21)
Задача:...

Цитата (Arh @ 28.01.2016 - 20:52)
не получилось на халяву

Ты хочешь получить много вариантов решения этой задачи? Если да, то я тебе скажу "как" smile.gif
Идешь в раздел "конкурсы" и создаешь такой конкурс. На эту задачу. Обязательно - с оплатой первого места. Обязательно - временнОй лимит должен быть. И тогда ты получишь искомый результат.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: 70




sergeiss
Цитата
Идешь в раздел "конкурсы"

Да я лучше сам завтра подумаю. Это не заказ для фриланса, а просто интересная задача.


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Santehnick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 231
Пользователь №: 26735
На форуме: 5 лет, 8 месяцев, 26 дней
Карма: 15




Цитата (twin @ 28.01.2016 - 15:50)
И им правят не программисты, которым по сути не выгодны рамки.

Какие рамки в ооп? В ооп есть принципы, есть правила, есть паттерны. Можно их придерживаться, можно не придерживаться. Выбор исключительно программиста. Это не является обязательным. Можно ничего не придерживаться, будет полная свобода, будет разное качество кода. Только и всего. Не усложняйте.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
[x] Дата
Цитировать сообщение

Пользователь сейчас на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 2 месяца
Карма: 299

Трезвый :
5 лет, 11 месяцев, 10 дней


Цитата (Santehnick @ 28.01.2016 - 22:13)
Какие рамки в ооп?
Вот и я хотел бы выяснить, какие? Что можно считать "правильным" ООП, а что "говнокодом".

Цитата (Santehnick @ 28.01.2016 - 22:13)
Можно ничего не придерживаться, будет полная свобода, будет разное качество кода.
Это и есть мультипарадигма. Когда свобода. А вот как оценить качество кода, по каким критериям?

Меня всегда свербило чувство, что ООП на что то похоже до боли знакомое. И нашел. Это фаст-фуд. smile.gif

Точно так же нет общих прописанных концепций. И McDonald’s, и KFC, и даже банальный ларек с шавермой находятся в поле этой парадигмы. Нет никаких особых правил, однако объединяет их общий принцип. Быстро, по шаблону, с ограниченным ассортиментом. Ведь духовка дешевле, чем хороший повар.

Очень высокая читабельность меню, так как гамбургер, он и в Африке гамбургер, пусть даже из мяса жирафа.

Очень легко рефакторится, достаточно добавить на булочку кунжут, и вот уже новое блюдо.

Легко тестируется, ведь не нужно дегустаторов, достаточно сравнить с эталонным чизбургером или бигмаком.

Тот же пиар, то же повеместное распространение, та же популярность, тот же непретязательный уровень персонала.

Те же студенты, которые кричат "свободная касса!", а сами в тайне мечтают вырасти из мидла в супервайзеры, изучая по ночам рецепты банды четырех макнаггетсов и картошки фри.

Та же изжога, гастрит и ожирение у потребителей. И те же восторженные возгласы тех, кто успел плотно подсесть.

И тот же "корпоративный дух". Не приведи Господи сказать работникам макдональдса, что они травят население. Ты что! Они двигают прогресс, экономя время людей на еде. А кто не согласен - пусть идет жрать свою говно-яичницу с беконом и говно-борщ. А кому вообще неймется, пусть идет в ресторан и попробует разобраться в рецепте говно-супа Том Ям.

Только вот по какому принципу оценивать качество кода еды? По вкусу или по читабельности меню, простоте рецепта, использованию шаблонов? Вопрос...

И кто в выигрыше? Потребитель, персонал, или владелец сети фаст-фуда?

Лично я не против фаст-фуда. Иногда действительно полезно, когда нет времени или возможности нормально поесть, можно и перекусить побыстрому. Но жрать это каждый день, по нескольку раз в день, и не приемлить ничего иного... А еще и детям в школу совать вместо завтрака... Без комментариев.

Так что конечно никуда ООП не денется. И не отдаст в ближайшее время лидерских позиций. Так же как и не закроются макдональдсы по всему миру, хотя уже давно доказан вред их продукции (правда некоторые страны нашли в себе силы их запретить, обосновав заботой о здоровье населения, но это скорее исключения, подтверждающие правило) . Уж очень серьёзные силы это лоббируют.

Но к настоящей кулинарии это имеет опосредственное отношение. И если человечество сойдет с ума и объявит борщ устаревшим, оставив в рационе только макмафины и чизбургеры, то наступит апокалипсис. smile.gif

Вот что Пол Грэм сказал по этому поводу:
Цитата
я вовсе не предрекаю гибель объектно-ориентированного подхода. Хотя, по моему мнению, за исключением некоторых специализированных областей применения, объектно-ориентированность ничего не даёт хорошим программистам, она очень привлекательна для больших организаций. ООП - это приличный способ написания путаного лапшеобразного кода, позволяющий строить программы в виде серии патчей. Большие организации всегда были склонны разрабатывать программное обеспечение таким образом, и думаю, этому и через сто лет не измениться.


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

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

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Santehnick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 231
Пользователь №: 26735
На форуме: 5 лет, 8 месяцев, 26 дней
Карма: 15




Цитата (twin @ 29.01.2016 - 00:34)
А вот как оценить качество кода, по каким критериям?

Сопровождаемость. Чем проще поддерживать код, тем выше его качество. Все эти принципы, паттерны и правила из ооп должны помогать программисту упрощать код.

Полная свобода часто приводит к тому, что незначительное изменение оказывает значительное влияние на всю систему. Что-то начинает неверно работать. Проект уходит в вечный багфикс. Регрессия кода.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 2 месяца
Карма: 299

Трезвый :
5 лет, 11 месяцев, 10 дней


Цитата (Santehnick @ 29.01.2016 - 03:40)
Сопровождаемость. Чем проще поддерживать код, тем выше его качество.

Ну что и требовалось доказать. Типичная оценка с позиции биг-мака. Не вкус еды, не полезность, не оригинальность, не изысканность блюда ты считаешь показателем качества. А всего навсего простоту приготовления:
Цитата
Все эти принципы, паттерны и правила из ооп должны помогать программисту упрощать код.
Другими словами нужно учиться не хорошо готовить, а всего навсего набивать руку на тяп-ляп чизбургерах. Выбор да, конечно есть. Роял-чизбургер, Двойной Макмаффин и так далее. Главное не усложнять. smile.gif Кстати, об этом тоже много интересного прочитал. Уже эксперементально доказано, что ООП не упрощает разработку.

С поддержкой может быть. Конечно проще разослать всем несколько рецептов по стандартной технологии и не париться, что где-то кто-то не справится с приготовлением черепахового супа. Хотя и тут нет однозначного мнения.

Цитата
Полная свобода часто приводит к тому, что незначительное изменение оказывает значительное влияние на всю систему. Что-то начинает неверно работать. Проект уходит в вечный багфикс.
Да, тут сложно не согласиться. Если шеф-повар крутого ресторана вдруг положит вместо шафрана базилик, то конечно система рухнет. Вот только на сколько оправдана "шаблонизация" кодов, котоые и приводят любое начинание к банальному гамбургеру, а талантливого шеф-повара к заурядному технологу пусть даже 5-го разряда?

Взгляд изнутри макдональдса понятен. Там у вас конечно не терпят вольностей, и чем проще процесс приготовления, тем качественнее результат. Не блюдо я имею ввиду, а рентабельность. Только такое чрезмерное "упрощение" может привести к этому:


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

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

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: 70




11 страница biggrin.gif
Может уже составить какой то список определений ООП?
Типа рецепта.
Берём SOLID, добавляем DI, всё это кладём в MVC и перемешиваем =)


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 2 месяца
Карма: 299

Трезвый :
5 лет, 11 месяцев, 10 дней


Цитата (Arh @ 29.01.2016 - 05:18)
Может уже составить какой то список определений ООП?
Типа рецепта.
Берём SOLID, добавляем DI, всё это кладём в MVC и перемешиваем =)

Дык вот. По всему выходит это невозможно. По крайней мере пока это никому не удавалось, исходя из той информации, которую я успел нарыть за три дня в гугле. smile.gif


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

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

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: 70




А мой пример с контроллерами некатит?
Типа в процедурном, каждый контроллер сам решает поставленную задачу, а в ООП он просит решение у ответственного объекта (класса, функции).
Далее, когда этот класс/функция, решает свою задачу, с помощью решения других задач, она использует другие классы/функции, которые за это ответственны, и тд. SOLID.
То есть получается не последовательное, а вложенное программирование, такая цепная реакция.



--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: 70




На основе этого можно предположить, что если ответственный код запрашивает результат другого ответственного кода, то этот код объектно ориентированный, то есть ориентируемый на результаты работы других объектов.
При этом не факт что соседний файл в приложении тоже ООП, поэтому оценить ООП это приложение или не ООП можно только в соотношении ООП кода к не ООП коду, типа 50%+ ООП, тогда ООП, завтра написали файл без ООП получилось 49%, уже не ООП.


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (13) « Первая ... 9 10 [11] 12 13  Закрытая темаСоздание новой темыСоздание опроса