[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Объясните в чем преимущества ООП?
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
twin
S.Chushkin
Шутку оценил. smile.gif

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

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

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

user posted image
slobotsky.denis
Цитата (twin @ 1.11.2014 - 18:46)
Я неприемлю концепцию фреймворка как таковую

ну можно же изучить просто для расширения кругозора. Вдруг, окажатся так, как я предполагаю. Тогда у Вас появится ещё один аргумент против ооп. Типа "как ушли от императива, так к нему и вернулись".

Цитата (twin @ 1.11.2014 - 18:46)
И об этом как раз я и хотел рассказать, когда обещал про скорость и удобство разработки.

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

_____________
PHP: The Right Way
Бесплатное обучение Symfony2

Tox: 55BB67DE54B1CB14F8C37B4F3AED64E6A45922988D22F85EF75039751F26F05460664D978F5C
twin
Ну вот, началось время интересных историй.

Для начала вспомним, с чего все начиналось. А начиналось все с популяризации интернета. Появилась совершенно новая технология - веб. С кардинально отличающейся от десктопного программирования концепцией. В десктопном программа загружается в операвтивку и живет там долго и счастливо. В веб нужно как можно быстрее выполнить определенные действия и выдать их результат в поток. Сначала это делалось по образу и подобию, потому что не было подходящих для этой концепции инструментов. Были попытки адаптации, та же перловка к примеру, но все не то. Соответственно специалисты-прикладники ценились на вес золота. Именно специалисты, способные написать на сях к примеру то, что работало бы быстро, качественно и не жрало бы память.

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

И тут эту тему чухнули бизнесмены. Было выражение, приписываемое Гейтсу (не уверен). Что скоро останется два вида компаний. Представленные в интернете и разорившиеся. Не ручаюсь за точность.

А бизнесмены не программисты. Они хотят вложить деньги и получить прибыль. Соответственно в веб запахло деньгами и туда кинулась толпа десктопщиков. Самым подходящим инструментом как раз и оказался PHP.

А так, как PHP изначально не был расчитан на сложные системы, то он начал бурно развиваться. Есть такое понятие - коньюнктура. Было бы глупо делать упор на тот же императив, потому что куча пришедших прикладников требовали ООП, у них мозг так заточен. Они не мыслят иначе. Как вы сейчас, не можете представить себе программу без сущности.

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

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

Вы даже примеры всегда приводите из прикладной сферы. Паттерны. Модное словечко. А знаете ли вы, что паттерны изобрела "банда четырех", которые к PHP и веб имеет такое же отношение, как я к миграции антолопы Гну в северной Африке?

Или тот же Фаулер. Сколько он написал сайтов?

Любая, более менее стоящая литература по ООП написана для дестопа. А разные поделки от "специалиста" и прочий желтый ширпотреб типа "ООП в PHP для чайников" как раз для чайников и есть.

Потом прикладникам в веб стало скучно. Заела их ностальгия. И родили они тоже самое по сути десктопное приложение, гордо именованное "фреймворк". Мол чего там люди мучаются, сейчас мы им поможем написать правильно, как пишут тру программисты. В десктопах фреймворк действительно полезен. Он отъедает немного памяти, но дает кучу плюсов. А тут? За любой маленький плюсик приходится расчитываться огромными накладными расходами.

И тут произошел еще один бум. Появилась куча веб-студий. Потому что появился спрос (вспомним Гейтса), а значит должно родиться предложение. Закон рынка.

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

Но тут еще один момент. Раз появилась куча вакансий разработчиков, их нужно где то брать. Есть несколько путей. Переманить готового у конкурента, но их и у них не сильно густо. А значит либо позвать талантливого десктопщика, дабы он переучился по быстрому, либо вырастить свои кадры. Желающих, слава Богу, полно. Вспомним про домохозяек. Научить, отправив к кому? К тем же десктопщикам. Ибо конкретных специалистов по веб крайне мало. Не к Попову же.

И что в итоге? Мы получили целое поколение (а может и не одно уже), которое невозможно переубедить в том, что веб, это совсем не десктоп. Кардинально. Они (ну то есть вы) по другому вообще не умеют мыслить. Вы мыслите сущностями. А веб, это в первую очередь действие.

А теперь на сладкое.

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

Так вот, представим, что вокруг одни императивщики, а ООПэшники изредка мелькают в холиварах и причисляются к говнокодерам. smile.gif Ну ненадолго представим.

Что было бы.
1. В литературе пропагандировались бы разные способы императивного программирования. Сейчас просто совсем нет толковой информации и негде научиться.
2. Когда этим бы занималась куча народу, появилась бы куча новых способов и тех же паттернов, только не ООП паттернов, а императивных. Такие тоже есть.
3. В интернете была бы огромная куча библиотек, на любой вкус и цвет. НОни и сейчас есть, но недостаточно для промышленного использования.
4. Вместо фреймворков появилась бы куча конструкторов. В чем принципиальное различие? В том, что в продукте, собранном на конструкторе нет ничего лишнего, ни в оперативке ни на диске.
5. Выросло бы поколение специалистов, действительно ответственно относящихся к свей работе, а не как некоторые из присутствующих. Мол чего жалеть ресурсы, есть акселераторы, они пусть разгребают. Мой дед говорил одну фразу, которая стала девизом моей жизни. Всё нужно стараться делать хорошо. А плохо - оно само получится. Сейчас ООПэшники делают все наоборот.

И теперь скажите мне, проанализировав всё вышесказанное в совокупности с тем, что мой код побеждает вариант cee по всем параметрам, кроме одного. С таким кодом мало кто может работать. Ибо все кругом ООпэшники.

Скажите, положа руку на сердце. В каком случае разработка велась бы быстрее и оптимальнее? Если бы PHP развивался как императив или как ООП?

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

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

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

user posted image
Быстрый ответ:

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