Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Процедурный стиль vs Объектно ориентированное программирование

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Опрос
Какой стиль програмирования вы используетет
Для голосования и просмотра результатов опроса войдите или зарегистрируйтесь

> Без описания
ВеликийПрограмист
Отправлено: 25 Января, 2016 - 04:27:56
Post Id



Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Янв. 2016  


Помог: 0 раз(а)




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

Давайте сделаем конструктивно чтобы тему не закрылы за флейм и не будем делать такие комменты как "Если ты пишешь процедурный код то ты херовый програмист" или "<Какой то> крутой прогер или мой учитель програмирования в универе смеется над таким вопросом" - так доказываются догмы.

Пишите конкретно по пунктам почему процедурный стиль неприемлемен вами или чем ООП лчше процедурного лучше сразу с примером кода.


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

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


Ели кто то думает что я упал с дуба посмотрите на критику ООП на с википедии.
Спойлер (Отобразить)

(Отредактировано автором: 25 Января, 2016 - 04:56:50)

 
 Top
Panoptik
Отправлено: 25 Января, 2016 - 08:47:10
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




а ты вообще с какой целью интересуешься?


-----
Just do it
 
 Top
DelphinPRO
Отправлено: 25 Января, 2016 - 08:55:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




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

(Отредактировано автором: 25 Января, 2016 - 08:56:17)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
dcc0
Отправлено: 25 Января, 2016 - 10:28:51
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Масштаб проекта, вероятно, играет не последнюю роль в выборе стиля.

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

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

(Отредактировано автором: 25 Января, 2016 - 10:40:34)



-----
Март 2021. Бросил программирование
 
 Top
DelphinPRO
Отправлено: 25 Января, 2016 - 10:58:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




dcc0 пишет:
Для небольших проектов все же лучше процедурный, вероятно.

точно! утилитки на 100-200 строк для личного пользования Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
caballero
Отправлено: 25 Января, 2016 - 12:10:44
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




великий програмист а ссылается на википедию. Улыбка


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
dcc0
Отправлено: 25 Января, 2016 - 13:03:26
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




caballero, что плохого в Википедии?

DelphinPRO, повторюсь - мультипарадигма. А это не только ООП и процедурный стили.

Кстати, PHP вообще нет в списке процедурных ЯП
https://ru[dot]wikipedia[dot]org/wiki/%D[dot][dot][dot]0%BD%D0%B8%D0%B5

И тут вообще еще надо с терминологией разбираться, что есть в действительности процедурное программирование, а что есть императивное.
Некоторые типы программ на PHP можно обозвать и автоматным программированием:
https://ru[dot]wikipedia[dot]org/wiki/%D[dot][dot][dot]0%BD%D0%B8%D0%B5


-----
Март 2021. Бросил программирование
 
 Top
MiksIr
Отправлено: 25 Января, 2016 - 14:31:35
Post Id


Забанен


Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014  


Помог: 10 раз(а)

[+]


dcc0 пишет:
И тут вообще еще надо с терминологией разбираться, что есть в действительности процедурное программирование, а что есть императивное.

Что тут разбираться. Процедурное программирование - императивно. ООП - тоже императивно. Автоматное программирование - это вообще область алгоритмов. В общем это совершенно разные категории странно смешанные в кашу.


-----
self-banned
 
 Top
Viator
Отправлено: 25 Января, 2016 - 14:58:31
Post Id



Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Март 2012  
Откуда: Lviv, Ukraine


Помог: 0 раз(а)




dcc0 пишет:
что плохого в Википедии?

Когда Википедия стала истиной в последней инстанции? туда что угодно можно написать)
Стосовно ООП и процедурного програмирования.. Все зависит от задач. Небольшой проект проще реализовать процедурно. Все что касается больших проектов - лучше делать в ООП (особенно в свете длительной поддержки и развития)
 
 Top
dcc0
Отправлено: 25 Января, 2016 - 15:05:46
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




MiksIr, Википедия разделяет: Основные модели программирования
и Подходы и приёмы.

Так вот, процедурный стиль значится подходах и приёмах, и сюда же попадет даже рекурсия.
И, имхо, оно верно. Хотя рекурсия может быть использована и в программировании автомата, так как, например, php может вполне земещать и совмещать bash/shell - а многие скрипты на bash характеризуются именно автоматным приемам.

Теперь: Основные модели программирования
И сюда уже попадают:
Императивное программирование
Декларативное программирование
Объектно-ориентированное программирование

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

Теперь еще раз в Вики в статью ООП, в самом начале:
Цитата:

"объектно-ориентированное программирование использует в качестве основных логических конструктивных элементов объекты, а не алгоритмы;"


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



PHP:
скопировать код в буфер обмена
  1. Автоматное программирование - это вообще область алгоритмов

Фраза непонятная.


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

Поэтому говоря о PHP можно говорить только о мультипарадигме.
(Добавление)
Viator, а кто говорит про истину? Мы развиваем тему.
Википедия касательно данной темы представляется более надёжным источником, чем БСЭ.

(Отредактировано автором: 25 Января, 2016 - 15:08:58)



-----
Март 2021. Бросил программирование
 
 Top
esterio
Отправлено: 25 Января, 2016 - 15:10:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




dcc0
Viator пишет:
Когда Википедия стала истиной в последней инстанции? туда что угодно можно написать)
 
 Top
dcc0
Отправлено: 25 Января, 2016 - 15:41:15
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




esterio пишет:
Когда Википедия стала истиной в последней инстанции? туда что угодно можно написать)


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

Собственно вырастает вопрос: тут кто-нибудь вообще понимает до конца принципы классификации ЯП?
(Добавление)
Разные источники вообще разное говорят:

Вот тут автору считают, что ООП - это языки не для профессионалов : ) см. первую табличку = )

http://www[dot]urtt[dot]ru/bib/dataindex[dot][dot][dot]html/lect_05[dot]htm
(Добавление)
Подчеркну еще раз, что PHP - это мультипарадигма, язык пригодный для широкого спектра задач, а не какая ни каша.
И это очень большой плюс языка в целом, ну а отсутствие компилируемости, т.е. возможность быстрой правки текстов, делает язык просто незаменимым.

(Отредактировано автором: 25 Января, 2016 - 16:04:44)



-----
Март 2021. Бросил программирование
 
 Top
esterio
Отправлено: 26 Января, 2016 - 12:26:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




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

П.С, я не закликаю писать плохой код. я лиш говорю за то, что если уж нравиться продедурный стиль и вся тима поддерживает тебя в этом, то вперед, но на практике такого нету и в ближайшем будущем наверно не будет. Поетому если хочеш зарабативать, нужно учить ООП ибо код и правда легше поддерживать.
(Добавление)
кстати в другой теме caballero лучше меня описал то что я хотел сказать
http://forum.php.su/topic.php?forum=88&topic=26&postid=1453717817#1453717817

(Отредактировано автором: 26 Января, 2016 - 12:26:50)

 
 Top
armancho7777777 Супермодератор
Отправлено: 26 Января, 2016 - 13:10:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




ВеликийПрограмист
ООП, в первую очередь, - образ мышления.
Оно либо приходит с опытом, либо нет.
Соответствующий инструментарий языка, всего лишь, расширяет возможности реализации данной парадигмы.
И "ты" хоть тресни: если не понимаешь, то "тебе" на пальцах хоть заОбъясняйся.
Оно не осязаемо, его чувствовать надо.
А чтобы прочувствовать, начните изучать любой язык со строгой типизацией.
Мне, года 3 назад, помог ActionScript 3.0, после которого я заглянул в Zend FW и прозрел: стало всё таким очевидным Радость

(Отредактировано автором: 26 Января, 2016 - 13:49:07)

 
 Top
Panoptik
Отправлено: 26 Января, 2016 - 23:57:12
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




dcc0 ты есть ВеликийПрограмист ???
а то уж больно топик стартер потерялся, а ты впрягся за него тут доказывать свои мысли?
зачем так делать?


-----
Just do it
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB