[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Опять про объекты)
Страницы: 1, 2, 3
twin
Отсюда

Не зайдет тема. smile.gif
Один из самых смертных грехов программиста, это самолюбование. Потому и трудно собрать команду единомышленников - все самые умные.

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

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

smile.gif

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

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

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

user posted image
brevis
Цитата (twin @ 12.12.2019 - 17:08)
Так что при прочтении этой статьи возникнет буря эмоций плана "они ничего не понимают!" и "нубы, не доросли еще!". Хотя они то может как раз и переросли.

Ой не знаю smile.gif Фразы типа такой все же подтверждают эмоции:
Цитата
ООП - это небезопасно, поскольку 99% веб-студий пользуются готовыми шаблонами (паттернами проектирования), а они все широко распространяются в открытом интернете и хакеру не составит никакого труда найти "дырку" в коде и произвести взлом.
Ron
laugh.gif Вы сделали мой день! laugh.gif
twin
Цитата (brevis @ 12.12.2019 - 13:17)
Фразы типа такой все же подтверждают эмоции:
Безопасность тут конечно не причем, но вот то, что этим пользуются почти все веб-студии - безоговорочная истина. В итоге мы имеем так называемый code parrot. Хорошо ли это, большой вопрос.

Для работы наверное хорошо. Для тупой работы, чтобы наработаться. Эдак с 9 до 5, а там трава не расти.

Для увлечения этого явно недостаточно. А хорошая работа, это высоко оплачиваемое хобби. smile.gif

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

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

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

user posted image
twin
Посмотрел внимательно - забавные персонажи smile.gif
Но доля истины в их инсенуации все же есть. Впрочем каждый выбирает свой путь. Быть технарем или гумманитарием от программирования. Работать по шаблону или искать что то новое.

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

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

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

user posted image
FatCat
Цитата (twin @ 12.12.2019 - 19:58)
гумманитарием от программирования

Отличная формулировка. Спасибо! Утащу в заначку.

_____________
Бесплатному сыру в дырки не заглядывают...
Ron
Цитата (twin @ 12.12.2019 - 20:38)
А хорошая работа, это высоко оплачиваемое хобби.


По-моему, когда платят за хобби это означает, что ты на пенсии. biggrin.gif
twin
Цитата (Ron @ 12.12.2019 - 19:10)
По-моему, когда платят за хобби это означает, что ты на пенсии.

Это называется "найти себя". Тратить треть жизни на занятие, которое не приносит удовлетворения, довольно расточительно. И да, это понимаешь уже ближе к пенсии. Молодежь может себе позволить транжирить жизнь как попало, жизнь же вся впереди. biggrin.gif

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

Как говорится, компьютер изобрели для решения проблем, которых до изобретения компьютера не существовало. smile.gif

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

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

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

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

user posted image
Ron
Цитата (twin @ 13.12.2019 - 05:50)
Это называется "найти себя".

Для некоторой части суши, найти себя - сущая мелочь, по сравнению с проблемой самореализации.

twin, а скажи, почему тебя тема ООП так сильно беспокоит? Буквально каждое упоминание парадигмы не обходится без внимания. Вот уж действительно забавно, так что тред вполне подходящий! wink.gif

brevis
Цитата (Ron @ 13.12.2019 - 18:30)
twin, а скажи, почему тебя тема ООП так сильно беспокоит? Буквально каждое упоминание парадигмы не обходится без внимания.

Позволю себе высказать "оценочное суждение".
Как говорится, все по Фрейду. twin тоже считает, что по-настоящему понял ООП только он. Вот, кстати, есть тема, в которой twin пробует рассказать как он все это дело понимает. По крайней мере занятно. Насколько я понял, это его самобытное понимание основано на одной обманчивой особенности PHP.

smile.gif

_____________
Чатик в телеге
twin
Ну наверное из обостренного чувства справедливости.

Вот это яркий пример. Чуваки может и не асы и не гуру, и обоснования их не совсем грамотны и корректны. Но это не повод смеяться над ними и выражать дружное ФИ. Их точка зрения имеет право на жизнь.

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

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


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

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

Амбиции, мать его. biggrin.gif

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

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

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

user posted image
twin
Цитата (brevis @ 13.12.2019 - 15:20)
Насколько я понял, это его самобытное понимание основано на одной обманчивой особенности PHP.

Причем тут PHP? Как будто в других языках история иная... Если уж ООП, то программирование Объектное. И объект первичен. А класс, это инструмент, которым этот объект пользуется. Где здесь ошибка?

Я тебе больше скажу. Правильно спроектированное приложение, где используется DDD, вообще не привязано к языку. Его можно реализовать на любом. Именно потому, что проектируются объекты, а инструмент подбирается позже, под условия.

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

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

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

user posted image
brevis
Цитата (twin @ 14.12.2019 - 09:45)
Причем тут PHP? Как будто в других языках история иная... Если уж ООП, то программирование Объектное. И объект первичен. А класс, это инструмент, которым этот объект пользуется. Где здесь ошибка?

В умозаключениях.

Вот, например, следующий вывод из чего следует?
Цитата (twin)
Важно то, что объект может пользоваться любыми методами любого созвучного класса, оставаясь при этом неизменным.
twin
Цитата (brevis @ 14.12.2019 - 08:14)
Вот, например, следующий вывод из чего следует?

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

$src = 'O:7:"example":0:{}';
$obj = unserialize($src);
var_dump($obj); // object(example)#1 (0) { }
Где здесь класс? А вардамп явно показывает объект. Теперь можешь написать любой класс с названием example, и он будет работать с этим объектом.

class example
{
public function run()
{
echo 'О как!';
}
}


$src = 'O:7:"example":0:{}';
$obj = unserialize($src);
$obj->run();


Тот же фокус можно провернуть на любом объектном ЯП, поддерживающем сериализацию.

Цитата (Santehnick @ 14.12.2019 - 08:39)
Так и здесь вечный спор ооп или не ооп.
Лично я ни с кем не спорю. Каждый волен выбирать то, что ему ближе. Единственное что я обычно говорю - не сошелся свет клином на ООП. И про многоуровневую архитектуру, как ты ее назвал, я давно твержу. Только называю ее мультипарадигмой. За что обычно и предаюсь тут анафеме. :D

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

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

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

user posted image
brevis
twin, твой пример слишком "творческий" :)

>Где здесь класс?

Класс всегда есть. "Просто объектов" не бывает. Объект должен принадлежать какому-то классу. В твоем примере, чтобы var_dump вернул то, что ты написал, необходимо чтобы класс example уже был объявлен. Но, даже если класс example не будет объявлен, var_dump скажет тебе, что твой $obj является экземпляром класса __PHP_Incomplete_Class.

>Теперь можешь написать любой класс с названием example, и он будет работать с этим объектом.
>Тот же фокус можно провернуть на любом объектном ЯП, поддерживающем сериализацию.

Ну попробуй провернуть этот фокус, скажем, в Java.

Позволю себе перефразировать твои мысли "не творческим" языком.

Есть данные. Например, строка в БД (на мой взгляд хороший пример). На основе одной и той же строки из БД (значений столбцов) мы можем создать разные объекты (экземпляры разных классов). Например:
+----+-------+--------+
| id | width | height |
+----+-------+--------+
| 01 | 2000 | 1000 |
+----+-------+--------+
| 02 | 200 | 100 |
+----+-------+--------+
| 03 | 20 | 10 |
+----+-------+--------+

Есть, наверное, бесконечное множество объектов, которые могут содержать ширину и высоту. Более того, легко можно придумать даже "созвучные классы". Ну самое первое, что приходит в голову -- класс с названием Window. Один Window может представлять окно в доме. Другой Window -- окно gui-приложения. А третий может представлять оконную функцию, которая принимает параметры width и height. Ну и тд.
А вот объектом эти данные становятся непосредственно после создания экземпляра класса.

Так вот в этой схеме общее с ООП -- только названия некоторых терминов.

P.S. Но да, "из-за отсутствия строгого и общепризнанного определения ООП" мы имеем "вечный спор ооп или не ооп".

_____________
Чатик в телеге
Быстрый ответ:

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