Императив гораздо старше ООП. И когда эта парадигма была на пике, классов и объектов не существовало вовсе. Их не изобрели тогда. И соответственно не могли запретить.
Во главе угла парадигм все же не используемые инструменты, а принцип построения. Вот принципы ООП, задекларированные Аланом Кеем, которого считают изобретателем ООП. Подчеркну особо значимые места:
1.
Всё является объектом.
2. Вычисления осуществляются
путём взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие.
3. Объекты взаимодействуют, посылая и получая сообщения.
4. Сообщение — это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия.
5.
Каждый объект имеет независимую память, которая состоит из других объектов.
6. Каждый объект является представителем (экземпляром) класса, который
выражает общие свойства объектов.
7. В классе задаётся поведение (функциональность) объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия.
8. Классы организованы в
единую древовидную структуру с общим корнем, называемую иерархией наследования.
9. Память и поведение, связанное с экземплярами определённого класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
Императивное программирование подразумевает, что:
1. Программа состоит из набора команд, которые выполняются процессором автоматически
друг за другом в определенной последовательности.
2. При этом управление изменениями полностью определено и полностью контролируемо.
3. Парадигма описывает процесс вычисления
в виде инструкций, изменяющих состояние программы.
4. Память в императивной парадигме однородна.
Доступ к инструкции возможен из любой точки программы.
Вообще весь сыр-бор из-за того, что совершенно глупо писать на высокоуровневом языке одними операторами. Если придираться к этому, то тогда нужно вообще запретить мне пользоваться PHP. Что за поблажки... Значит пользоваться ООП библиотекой PDO мне можно, а если я сам напишу класс-драйвер SQL, то уже нельзя.
Если этот маразм развивать, то вам тоже нужно запретить использовать процедурку в реализации методов. Сказано же четко и ясно -
Всё является объектом Если я увижу хоть одну строчку без $obj -> , всё, незачет. Давайте, выкручивайтесь.
Важно не
какими инструментами пользуешься. Важно
как. Я в контексте пользуюсь инструкциями. А как эти инструкции реализованы, моё дело. Функцией, статическим классом или экземпляром - не важно.
Любая программа на высокоуровневом ЯП - мультипарадигменна. И рассматривать её нужно не в области используемых инструментов, а в области построения архитектуры.
bestxp Тонкий троллинг я зачел
![smile.gif](http://phpforum.su/html/emoticons/smile.gif)
Но повелся, чтобы выяснить истину для всех. Для себя в первую очередь.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.