Недавно увидел ролик одного интересного дядьки про женскую логику, и меня вдруг осенило, почему я так стойко, практически на генетическом уровне не приемлю Объектно Ориентированного программирования. Сначала посмотрите ролик, может сразу станет ясно.
Женщина, в отличие от мужчины, мыслит образами. Читай: объектами. Мужская логика прямолинейна. Она базируется на причинно-следственных связях. Она императивна.
Программирование изначально придумали мужчины, по образу и подобию своего мышления. Именно это ярко видно из фон-неймановской модели, которая стояла у истоков. Особенно в веб-технологиях, с их однопоточностью.
Попытка впихнуть (распараллелить) объекты в логическую цепочку причинно-следствнных связей противоестественна. Это гермофродит получается какой то.
Вот пример из жизни. Мужик приходит с работы, дома жена, дочь и собака. С точки зрения ООП мы должны создать четыре объекта и заставить их взаимодействовать. В жизни мужик отправляет дочку гулять с собакой, жену - готовить борщ, а сам ложится на диван к телевизору. Всё здорово и классно.
Но в PHP так не выходит! Вот в чем беда. Там мужик отправляет дочь с собакой на улицу, а сам стоит в коридоре и ждет. Потом, когда просравшаяся собака приводит дочку домой, жена идет на кухню. А усталый, пришедший с работы, мужик так и стоит, бедолага. И во только когда борщ готов и разлит по тарелкам, мужик может идти к дивану. А футбол то и кончился уже. Не могут они действовать одновременно.
Я долго не мог понять, почему мой мозг так упорно сопротивяется Объектной парадигме. Да потому, что я мужик! Со своей тупой прямолинейностью. Я привык основой считать действия, и по результатам их производить другие. И программу пишу от первого лица, как закоренелый холостяк. Сам иду на кухню (я еслив чё классный умею готовить борщ, хоть и женат ), сам вытряхаю лоток у кота (жена брезгует и кота не любит), сам мирно лежу на диване (правда с приходом жены начинаю почему то нагло валяться). Я - программа. Выполняю действия. От этого зависит результат.
Нет в жизни никаких объектов, это бабы придумали. И в программировании им не место (объектам ).
По крайней мере в веб - точно. Особенно в PHP. В десктопе нормально, там возможна многопоточность. Там можно запустить несколько процессов одновременно, отправить жену на кухню, а сына на улицу. Как это сделать в PHP скрипте? Не понимаю.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.
Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.
Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.