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

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

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



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

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

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


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

Цитата (bestxp @ 26.01.2016 - 10:17)
а у тебя будет что? Вот как у тебя это будет выглядеть ? Вот опиши это?

Что именно, летающую лисицу? smile.gif
Я же говорил, это на вашем языке можно назвать делегированием. В процедурке описываются действия, без привязки к конкретным объектам. Если нужно собрать лисицу, то набирается подходящий функционал. В виде того же массива допустим.

Да, это не столь очевидно и достаточно фривольно, если мерять аршином ООП. Потому что можно и кошку заставить летать. О том и говорил Santehnick, я с этим согласен.

Но вот плюс это или минус - вопрос спорный. Критерии оценок могут быть разными. Точно одно - нет последней инстанции. И то, что ты объявляешь говнокодингом:
Цитата (bestxp @ 25.01.2016 - 06:36)
Но копаться с говном и в говне и потом вонять что оно хорошее покрайней мере не красиво, попробуй сначала принимать ванну) ато коллегам становиться противно от запаха ( прим. это я про процедурное )
не более чем твоя субъективная оценка. Потому что если копнуть глубже, ты может сам кушаешь обезьяньи какашки, воротя нос от пельменей. Я про ролик выше. biggrin.gif


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

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

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

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

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



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25988
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 22 дня
Карма: 725

Не курю:
1 год, 2 месяца, 8 дней


делайте чекбокс чтобы темы игнорные скрывать. задолбало это чудо в топе.

чё сложно 1 таблицу добавить и чекбокс в цикле зафигачить чтоли.


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

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



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 3 дня
Карма: 40




Цитата (twin @ 26.01.2016 - 14:38)
не более чем твоя субъективная оценка

твоя оценка тоже субъективная


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
dron4ik  
Дата
Цитировать сообщение

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



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1690
Пользователь №: 31058
На форуме: 4 года, 10 месяцев, 25 дней
Карма: 24




chee
вот именно что слизали, а нужно было свое реализовывать...


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

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



орангутанг
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2004
Пользователь №: 36605
На форуме: 3 года, 9 месяцев, 18 дней
Карма: 111




Цитата
не более чем твоя субъективная оценка. Потому что если копнуть глубже, ты может сам кушаешь обезьяньи какашки, воротя нос от пельменей. Я про ролик выше



скорее наоборот)) ибо от изысков ООП никому еще плохо не стало, а вот от устаревшей процедурки уже у людей начинаются позывы рвотные =)

в языке который развивается в сторону объектной модели пытаться заниматься некрофилией)) слава богу попрощались с механизмом ошибок старым)


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

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



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

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

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


Цитата (chee @ 26.01.2016 - 10:49)
твоя оценка тоже субъективная

Да, я не спорю. Но я не писал, что ООП - говнокодинг и нужно в ванне помыться. smile.gif
Вопрос не в том, что лучше, а что хуже. Тут нет конкретного ответа. Кому как. Вопрос в том, как люди относятся к парадигмам.

ООПэшники зачастую к процедурке относятся весьма агрессивно, часто даже не понимая, что это такое на самом деле. И объявляют её говнокодингом, так как сами попали в ООП из говнокода, не поняв, что можно и подругому. Они писали все в одну строку, в одной области видимости. И тут узнали, что есть классы, что можно объекты создавать и что даже паттерны придуманы для них. И всё. biggrin.gif Считают, что поймали Бога за бороду.

Хотя сами зачастую не соблюдают канонов, но в опросе гордо ставят галочку "только ООП". Мода...

bestxp
Цитата
скорее наоборот)) ибо от изысков ООП никому еще плохо не стало, а вот от устаревшей процедурки уже у людей начинаются позывы рвотные =)
Вот опять) Устаревшая процедурка. С чего она устаревшая стала, с того, что большинство стараются юзать ООП? Так это наоборот получилось. Её искуственно обозвали устаревшей, потому что разрекламировали ООП. Причем смешно, это извне в PHP пришло. Оттуда, где оно действительно оправдано, из десктопа. Вот C++ поддерживает мульипарадигму, а C# уже объектный язык. Тут пнятно, на шарпе писать проще, но там другое отношение и к памяти и к быстродействию.

А делать из PHP сугубо объектный язык - это нонсенс. Дань моде, бег впереди паровоза. Не думаю, что разрабы PHP похоронят возможность процедурного использования языка, ибо это путь вникуда. Веб на 99% состоит из простых программ, те самые эфимерные "большие проекты", которых никто не видел, ни что иное, как ошибка архитектуры (визитка на symfony допустим), либо использование не того инструмента. Писать реально сложные программы, требующие больших ресурсов и больших объемов разнородных данных на PHP, это забивать гвозди микроскопом.

Но если нравится - да ради Бога. Даже интересно это, я знаю. Когда фреймворк писал, чуть сам не скатился в любители ООП biggrin.gif . Увлекательно это, но непродуктивно.

А рассуждать о процедурке с позиции "Я раньше тоже был говнокодер, а теперь ООПэшник!", это примерно как "Я раньше ел сырую картошку, а теперь только фри!", не подозревая, что из неё можно приготовить еще как минимум 150 блюд... Вернее подозревая, но ни разу не попробовав, сразу же объявить "говном, вызывающим рвотный рефлекс".

А на язву желудка и холестирин плевать. Ведь все так кушают в Макдональдсе! smile.gif


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

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

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

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

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



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

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




Цитата (twin @ 26.01.2016 - 08:18)
А вот это процедурка:
class Voice
{
    public function getCatVoice()
    {
        return 'Meow!';
    }
   
    public function getCockVoice()
    {
        return 'Cock-a-doodle-doo!';
    }   
}


$voice = new Voice;
echo $voice->getCatVoice();
echo $voice->getCockVoice();


Извини, но вики и другие ресурсы в интернет, с тобой не согласны.
Цитата

The focus of procedural programming is to break down a programming task into a collection of variables, data structures, and subroutines, whereas in object-oriented programming it is to break down a programming task into objects that expose behavior (methods) and data (members or attributes) using interfaces. The most important distinction is that while procedural programming uses procedures to operate on data structures, object-oriented programming bundles the two together, so an "object", which is an instance of a class, operates on its "own" data structure. (с) https://en.wikipedia.org/wiki/Procedural_programming

Чуть ниже таблица с номенклатурой каждой парадигмы и среди процедурной нет ни методов, ни объектов, ни классов, которые были использованы в этом примере. Оба примера ооп.

Цитата

Процедурка поощряет использование как функций, так и классов, для локализации алгоритмов и той же декомпозиции.

Не поощряет она использвание классов. Хотя бы потому, что взяв другой язык, который поддерживает процедурное программирование, но не поддерживает ооп (например C) вы этих классов там не найдете. Это не процедурное программирование поощряет использовать классы, это вам так захотелось и вы просто смешиваете процедурное с ооп, просто потому, что php вам это позволяет делать.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

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



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 3 дня
Карма: 40




Santehnick, зачем ты рушишь его мировоззрение, построенное из ярлыков и неправильных интерпретаций? Весело же наблюдать как он себя считает правым, генерирует тонны однотипных текстов, в которых якобы доказывает свою точку зрения, объявляя всех фанатиками, а себя прагматиком.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
[x] Дата
Цитировать сообщение

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



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

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

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


Цитата (Santehnick @ 26.01.2016 - 11:59)
Извини, но вики и другие ресурсы в интернет, с тобой не согласны.

Не вижу несогласия. Из твоей же цитаты:
Цитата
The focus of procedural programming is to break down a programming task into a collection of variables, data structures, and subroutines
И что, класс не может быть подпрограммой?

Посмотрим вообще в само определение:
Цитата
Procedural programming is a programming paradigm, derived from structured programming, based upon the concept of the procedure call. Procedures, also known as routines, subroutines, or functions (not to be confused with mathematical functions, but similar to those used in functional programming), simply contain a series of computational steps to be carried out. Any given procedure might be called at any point during a program's execution, including by other procedures or itself.

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

Я не зря привел такой пример, с оговоркой внизу, что это не совсем показательно. Корректнее было бы использовать статическй класс. Но я сделал это осознанно, так как использование в коде объекта не делает код объектно-ориентированным. Это просто контейнер для набора функционала. Если развивать его, то можно допустим написать
class Voice
{
public function getCatVoice()
{
return 'Meow!';
}

public function getCockVoice()
{
return 'Cock-a-doodle-doo!';
}

public function getWaterfallVoice()
{
return 'F-f-f-f!!!';
}
}
Теперь можно услышать шум водопада, хотя к живым существам он не относится. Разумеется в таком случае использовать другое название класса, не "голос", а скажем "звуки", но сути это не меняет. Нет в миру такого объекта - звук. Есть описание, которое невозможно определить материально.

В такой класс можно засунуть метод "тишина" со своими свойствами. Вообще тишина, это отсутствие звука. А значит нет, и не может быть такого метода у физического объекта. А у набора методов - запросто.

Кроме того, при таком подходе можно заставить кошку кукарекать. Чего нельзя сделать в ООП, где свойства и методы кошки определены жестко, с помощью тех же интерфейсов, например.

В этом и различие подходов. Хорошо или плохо это - другой вопрос, тут нет и быть не может конкретного ответа.
Цитата (Santehnick @ 26.01.2016 - 11:59)
Это не процедурное программирование поощряет использовать классы, это вам так захотелось и вы просто смешиваете процедурное с ооп, просто потому, что php вам это позволяет делать.


Нет, как раз наоборот. PHP язык мультипарадигмальный. И он изначально был процедурным. Только сейчас (да и то не в полной мере) он стал позволять использовать классы для более-менее каноничного ООП.

А использование классов и объектов вовсе не признак ООП программы.
Цитата (Santehnick @ 26.01.2016 - 11:59)
Не поощряет она использвание классов. Хотя бы потому, что взяв другой язык, который поддерживает процедурное программирование, но не поддерживает ооп
Вот именно. Если не подерживает. А вот C++ поддерживает и то и другое, но нигде, никто и никогда не запрещал использовать классы при процедурном построении программ.

Тебя наверное сбило с толку это:
Цитата
Procedural programming languages include C, Go, Fortran, Pascal, and BASIC
, но эо перечень чисто процедурных языков, а не описание параигмы. В них действительно нет возможности юзать классы, но это не значит, что их нельзя юзать в мультипарадигмальных языках, оставаясь в поле процедурной парадигмы. Важно не какие инструменты используются, а как.


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

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

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

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

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



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

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

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


Цитата (chee @ 26.01.2016 - 13:00)
объявляя всех фанатиками, а себя прагматиком.

Я не объявляю. Я констатирую. biggrin.gif


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

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

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

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

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



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1044
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 27 дней
Карма: 13




Какие основные принципы ООП, я просто хочу напомнить.

1. Инкапсуляция
2. Наследование
3. Полиморфизм.

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

Абстракция и парадигма вещи разные, не следует их путать.


--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
Дата
Цитировать сообщение

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



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1044
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 27 дней
Карма: 13




Ща я попробую изобразить как может выглядеть процедурка на классах:

//Мы не можем наследовать никаких классов, потому что это ООП, а мы против него.
final class voice //тут ничего не наследуем и не реализуем.
{
//Мы не используем поля, потмоу что против ООП, а значит и против основных его принципов.

public static function cat()
{
return 'Mew!';
}

public static function dog()
{
return 'Wooof!';
}

}


//тут у нас жутчайшая вакханалия с неимоверным ветвлением и вызовом методов в стели ПП.
$var = voice::cat();
echo $var;



--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Santehnick  
Дата
Цитировать сообщение

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



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

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




Цитата (twin @ 26.01.2016 - 13:04)
Тебя наверное сбило с толку это:
Цитата
Procedural programming languages include C, Go, Fortran, Pascal, and BASIC
, но эо перечень чисто процедурных языков

Не чисто. Такие же мультипарадигменные языки, некоторые из этого списка даже ооп умеют.
Цитата (twin @ 26.01.2016 - 13:04)

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

Можно всё что угодно. Хоть пять парадигм перемешать между собой, но остаться в поле процедурной парадигмы очень врядли.

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

Объект в программировании не равен объекту реального мира, это более широкое понятие. Объект в программировании - сущность.

Цитата
Сущность выявляется ответом на вопрос: «Что есть сущее?», который следует отличать от вопроса о бытии: «Есть ли?» («Существует ли?»). (с) https://ru.wikipedia.org/wiki/Сущность

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

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



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 3 дня
Карма: 40




Цитата (Santehnick @ 27.01.2016 - 06:15)
Ваши параллели с реальным миром не очень уместны в программировании.

+1, наконец-то хоть кто-то это сказал


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
[x] Дата
Цитировать сообщение

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



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

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

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


Цитата (Ron @ 26.01.2016 - 17:58)
Какие основные принципы ООП, я просто хочу напомнить.

1. Инкапсуляция
2. Наследование
3. Полиморфизм.

Как это процедурка на классах? Такого быть не может, если ты используешь инкапсуляцию или тем более наследование это уже ООП, просто возможно неумело примененное.

Вот это и есть самое большое заблуджение начинающих ООПэшников. Вернее два заблуждения

1. Что если используется какой то из этих принципов, то это уже ООП
2. Что если используются классы, то это уже ООП.

Это не так, потому что инкапсуляция возможна без объектов и даже классов. А наследование спокойно работает на статических классах, где вовсе нет объектов в их классическом понимании.

ООП парадигма подразумевает построение кода исключительно на объектах и их взаимодйствиях.

Процедурное программирование подразумевает последовательное выполнение команд и вызовы процедур. Процедурой может быть любая подпрограмма, которую можно вызвать в контексте выполнения основной программы. Нет никаких ограничений. Более того, есть определение подпрограммы, где черным по белому написано:
Цитата
In computer programming, a subroutine is a sequence of program instructions that perform a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed. Subprograms may be defined within programs, or separately in libraries that can be used by multiple programs. In different programming languages, a subroutine may be called a procedure, a function, a routine, a method, or a subprogram.


Те, кто решил, что наличие класса в коде - признак ООП, нужно бы подтянуть матчасть. В русской википедии хорошо это описано:
Цитата
примерно с середины 1980-х годов термин «объектно-ориентированный» стал модным, в результате с ним произошло то же самое, что несколько раньше с термином «структурный» (ставшим модным после распространения технологии структурного программирования) — его стали искусственно «прикреплять» к любым новым разработкам, чтобы обеспечить им привлекательность. Бьёрн Страуструп в 1988 году писал, что обоснование «объектной ориентированности» чего-либо, в большинстве случаев, сводится к ложному силлогизму: «X — это хорошо. Объектная ориентированность — это хорошо. Следовательно, X является объектно-ориентированным».


Там же есть
вполне сносное определение ООП от Алана Кея.

Цитата (Santehnick @ 27.01.2016 - 02:15)
Объект в программировании не равен объекту реального мира, это более широкое понятие. Объект в программировании - сущность.

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

Если класс (или объект, как производная) используется для декомпозиции и не более, и методы вызываются в контексте последовательно по мере необходимости, это процедурный код.

Другими словами, если класс, это набор функций, а программа использует результаты их работы по очереди, то это процедурный код. Использующий методы в качестве процедур.

Если программа использует взаимодействия объектов между собой, посылая друг другу сообщения, это ООП.

Вообще не совсем верно называть процедурный код в PHP процедурным. Не знаю, откуда это, по инерции идет или это попытка принизить парадигму. Но априори то, что пишется даже самыми начинающими PHP программистами, это не процедурное, а структурное программирование. Основное отличие второго от первого - отсутствие оператора GOTO и использование блоков, локализующих функционал. В остальном (то же использование подпрограмм) имеет схожие принципы.

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





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

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

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

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

Опции темыСтраницы: (13) « Первая ... 2 3 [4] 5 6 ... Последняя » Закрытая темаСоздание новой темыСоздание опроса