Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Впечатления новичка от ООП / 25 сообщений из 906, страница 1 из 37
28.12.2006, 11:14
    #34229849
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
Во мне идёт борьба, поэтому не могу не поделиться.

Я не люблю ООП. Помимо субъективных причин (мне противно слово "класс", особенно, когда на самом деле имеется ввиду "объект"; мне противно писать в структурах, которых нет в машине, только не надо про асм), есть, мне кажется, и объективные. Всё это относится к сопровождению, именно этим мне приходится сейчас заниматься. То есть требуется в основном читать код, и только чуток писать:

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

2. Согласны ли вы, что менять структуру классов в работающей большой программе опаснее, чем менять функции в аналогичной процедурно написанной?

3. Правда ли то, что ОО-код работает медленнее процедурного?

Я конечно понимаю, что ООП меня согнёт рано или поздно. Но хочется как-то по-мирному, без ломки. Так что я, можно сказать, за поддержкой и консультацией.

Теплится надежда когда-нибудь заняться системным программированием, всякими низкоуровневыми алгоритмами, кодированием, но похоже, что время упущено (( Радует, что хоть веб я оставил позади!
...
Рейтинг: 0 / 0
28.12.2006, 11:28
    #34229924
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
Несколько мыслей НЕ новичка (я первый раз столкнулся с ООП в Turbo Pascal 5.5 году так в 1991)

1. в свое время ООП был задуман как подход, упрощающий повторное использование кода. При этом сразу признавалось его усложненное (по сравнению с обычным программированием) написание и сопровождение
2. некоторые люди пытаются его применить везде, где надо и не надо. Например, регулярно в форуме по Oracle задаются вопросы о том, как там его присобачить, причем совершенно на пустом месте
3. Я конечно понимаю, что ООП меня согнёт рано или поздно
Вот это со-о-овершенно необязательно. Есть масса программ, которые написаны, да и сейчас пишутся совсем без применения или с минимальным применением ООП. Многое зависит и от области программирования (в тех же базах данных - клиентская или серверная части ну и т.д.)
...
Рейтинг: 0 / 0
28.12.2006, 11:33
    #34229946
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
Спасибо за мнение!

tru55 Многое зависит и от области программирования (в тех же базах данных - клиентская или серверная части ну и т.д.)
Ага! Работать на стороне SQL-сервера мне гораздо приятнее, чем разбираться в клиентском приложении.
...
Рейтинг: 0 / 0
28.12.2006, 12:17
    #34230095
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
Frankie[quot tru55] Многое зависит и от области программирования (в тех же базах данных - клиентская или серверная части ну и т.д.)
Да. В ООП класс - коллекция, но в обработке данных коллекции хранятся в БД и обрабатываются соответствующими средствами. Отсюда следует простая ненужность ОПП в обработке данных. Что однако не мешает писать клиента на яве, используя методы процедурного программирования.
зы. Нужно еще сильно подумать, чтобы придумать адекватную область применения для ООП.
...
Рейтинг: 0 / 0
28.12.2006, 12:28
    #34230134
Впечатления новичка от ООП
Frankie
1) Нет.
2) Нет.
3) Нет.

Еще вопросы будут?
...
Рейтинг: 0 / 0
28.12.2006, 12:30
    #34230139
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
модзы. Нужно еще сильно подумать, чтобы придумать адекватную область применения для ООП.
Единственный раз, когда я прибегал к ооп по собственному желанию был диплом. Там мне нужно было работать с к-значными функциями. То есть нужен был именно свой тип данных. Это помогло и мне даже понравилось. Но в бд-приложениях всё сводится к тому, чтобы гонять string, integer, float, datetime туда-сюда... Так? И тем не менее я отовсюду слышу как полезно интерпретировать таблицы классами...
...
Рейтинг: 0 / 0
28.12.2006, 12:31
    #34230141
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
(меня всё-равно забанят) Frankie
1) Нет.
2) Нет.
3) Нет.

Еще вопросы будут?
К Вам нет,но хотелось бы комментариев. Особенно насчёт п.1
...
Рейтинг: 0 / 0
28.12.2006, 12:32
    #34230143
Впечатления новичка от ООП
мод
Frankie

Господа, расскажите мне, пожалуйста, системы какой сложности вы писали?
Т.е. строк кода, сколько эти системы стоили, за сколько времени были написаны, что умели делать?
...
Рейтинг: 0 / 0
28.12.2006, 12:35
    #34230157
Впечатления новичка от ООП
Frankie
К Вам нет,но хотелось бы комментариев. Особенно насчёт п.1
Это хорошо.

в большом проекте - разбираться в ООП структуре несравнимо проще, чем в процедурной. Достаточно лишь осознать, на какие функциональные группы разбиты объекты (чем они занимаются), по каким правилам наследуются и как взаимодействуют. Как правило, все принципы эти несложные.
И отрисовка структуры тут не нужна. Нужен лишь вменяемый IDE.
...
Рейтинг: 0 / 0
28.12.2006, 12:46
    #34230196
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
(меня всё-равно забанят) мод
Frankie

Господа, расскажите мне, пожалуйста, системы какой сложности вы писали?
Т.е. строк кода, сколько эти системы стоили, за сколько времени были написаны, что умели делать?
Система учёта заказов, платежей, материалов для небольшой типографии.
Я сопровождал, а впоследствие переписал там 80%. PHP+MySQL. Для собственного использования, поэтому стоимость не знаю (да и дело это ооооочень относительное).

Тысяч 8 строк кода.

Ни одного класса.
...
Рейтинг: 0 / 0
28.12.2006, 12:51
    #34230215
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
(меня всё-равно забанят) Frankie
К Вам нет,но хотелось бы комментариев. Особенно насчёт п.1
Это хорошо.

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

Достаточно лишь осознать, на какие функциональные группы разбиты объекты (чем они занимаются), по каким правилам наследуются и как взаимодействуют. Как правило, все принципы эти несложные.
ну видать я дуб совсем и мой руководитель заодно. Понимаете, когда все формы (среда Visual Basic 6) генерятся в динамике, по шаблонам (абстрактным классам), статика тащится из XML и всё это надо держать в голове. Дунуть нельзя - страшно. 300 человек ведь юзают, а ты и месяца не работаешь. Поиск по вызову методов уже не пройдёт, ибо они одинаково называются!

И отрисовка структуры тут не нужна. Нужен лишь вменяемый IDE.
Возможно в Делфи это воспринималось бы легче, но кардинально ситуация та же.
...
Рейтинг: 0 / 0
28.12.2006, 13:17
    #34230254
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
ООП рулит!

сипп форева!

аффтопитезь
...
Рейтинг: 0 / 0
28.12.2006, 13:33
    #34230318
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
Frankie...1. Согласны ли вы, что разбираться в большом проекте, написанным на ООП без наличия отрисовки его структуры гораздо сложнее чем в аналогичном процедурном?

2. Согласны ли вы, что менять структуру классов в работающей большой программе опаснее, чем менять функции в аналогичной процедурно написанной?

3. Правда ли то, что ОО-код работает медленнее процедурного?
...

1) нет
2) нет
3) нет

полностью поддерживаю того, которого забанят...
ООА и ООП - это методология. Задачи её - упрощать. Если Вы считаете, что это сложно или что то не понимаете - рекомендую обратиться к первоисточникам...К Гради Бучу например...

И ышо...
Процедурный язык...Или использование си плас плас (подразумевая что это ОО подход) - есть БОЛЕЕ ГРОМОЗДКИЕ конструкции (по коду) и более связанные между собой (!) чем проработка задачи с позиций ОО. Это - факт.

Как один из примеров порой привожу следующие цифры...
Проект на плюсах... Классов штук около 2500 (студия так внизу пишет когда долго открывает солюшен).. После проработки было выявленно из бизнес слоя около 15 сущностей... Предположим ышо пару-тройку слоёв... 50..пускай ошиблись - предопложим 100...ну хорошо - 200... А теперь взгляните на порядки цифр - в 10 (!!!) раз !!!

Я думаю глупо спорить с тем фактом, что чем больше кода тем менее устойчива программа и прочие минусы...


с уважением
(круглый)
...
Рейтинг: 0 / 0
28.12.2006, 13:37
    #34230336
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
AklinООП рулит!

сипп форева!

аффтопитезь

ну да, еще:

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

2. Согласны ли вы, что менять структуру классов в работающей большой программе опаснее, чем менять функции в аналогичной процедурно написанной?

3. Правда ли то, что ОО-код работает медленнее процедурного?
...

1) категорически нет
2) если руки на месте, одно удовольствие, т.е. нет
3) не медленнее.

хотя опять же вопрос кривых рук (это аналогия на сисег) не раскрыт.
...
Рейтинг: 0 / 0
28.12.2006, 13:39
    #34230351
Впечатления новичка от ООП
FrankieВо мне идёт борьба, поэтому не могу не поделиться.

Я не люблю ООП. Помимо субъективных причин (мне противно слово "класс", особенно, когда на самом деле имеется ввиду "объект"; мне противно писать в структурах, которых нет в машине, только не надо про асм), есть, мне кажется, и объективные. Всё это относится к сопровождению, именно этим мне приходится сейчас заниматься. То есть требуется в основном читать код, и только чуток писать:

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

2. Согласны ли вы, что менять структуру классов в работающей большой программе опаснее, чем менять функции в аналогичной процедурно написанной?

3. Правда ли то, что ОО-код работает медленнее процедурного?

Я конечно понимаю, что ООП меня согнёт рано или поздно. Но хочется как-то по-мирному, без ломки. Так что я, можно сказать, за поддержкой и консультацией.

Теплится надежда когда-нибудь заняться системным программированием, всякими низкоуровневыми алгоритмами, кодированием, но похоже, что время упущено (( Радует, что хоть веб я оставил позади!
1. Нет. Разбирался я как-то в исходниках Putty (OpenSource FTP-клиент, процедурный подход) - надо было модифицировать для своих целей... Ужас... Хорошо, что функции назывались типа sftp_send(...) и были под рукой исходники+отладчик+IP-адрес тестового сервера+логин+пароль...
2. Нет. Зачем резать "по живому" (менять что-то в РАБОТАЮЩЕЙ ПРОГРАММЕ)? Это плохой тон! Должна быть тестовая копия, где программу можно исковеркать по "самое нехочу" и должен быть релиз, с которым уже работают конечные пользователи...
3. Зависит от... Чаще всего современные оптимизирующие компиляторы создают не менее эффективный код для ООП-стиля, чем для процедурного стиля...
...
Рейтинг: 0 / 0
28.12.2006, 13:47
    #34230387
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
kolobok0Если Вы считаете, что это сложно или что то не понимаете - рекомендую обратиться к первоисточникам...К Гради Бучу например...
Я не считаю, что это сложно, я считаю - не естественно. Конечно, мне придётся смириться. Сейчас я просто пытаюсь понять, почему ООП в прикладном программировании становится стандартом, а те, кто его не применяют либо мечтают о нём, либо, по мнению остальных, ладеко не пойдут. Первоисточники сыпят красивыми фразами типа "работа с моделью реального мира", "более высокая абстракция". Я воспринимаю это как уход от реальности. Вместо того, чтобы сосредоточиться на взаимодействии человек<->компьютер и больше ни на чём, пытаются интерпретировать какую-то бизнес логику... UML это вообще чума для меня.

И ышо...
Процедурный язык...Или использование си плас плас (подразумевая что это ОО подход) - есть БОЛЕЕ ГРОМОЗДКИЕ конструкции (по коду) и более связанные между собой (!) чем проработка задачи с позиций ОО. Это - факт.
Иероглифы тоже короче букв, но это не значит что они легче и понятнее.

Как один из примеров порой привожу следующие цифры...
Это к чему? Я разве отрицаю, что оптимизация программ приводит к впечатляющим результатам?

Я думаю глупо спорить с тем фактом, что чем больше кода тем менее устойчива программа и прочие минусы...
Бывает устойчивый код и не очень. Дело не в количестве. Плохо написанное ОО-приложение фиксить гораздо сложнее процедурного. Сам проходил.
...
Рейтинг: 0 / 0
28.12.2006, 13:56
    #34230433
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
Станислав С2. Нет. Зачем резать "по живому" (менять что-то в РАБОТАЮЩЕЙ ПРОГРАММЕ)? Это плохой тон! Должна быть тестовая копия, где программу можно исковеркать по "самое нехочу" и должен быть релиз, с которым уже работают конечные пользователи...
Так и делается. Просто от меня требовалось дописать свойство и метод в калсс и при соответствующих событиях вызвать этот метод. Сделать можно за полчаса, но ведь задача не нарушить концепцию! 2 дня ушло на вникание в логику работы интерфейса (и это только часть!), в итоге сделал, и то не уверен, что это лучшее.

Я к тому, что фанаты ООП говорят, что такие проекты проще сопровождать. Я готов согласиться, но только если к коду прилагается схема классов.
...
Рейтинг: 0 / 0
28.12.2006, 13:59
    #34230446
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
Frankie kolobok0Если Вы считаете, что это сложно или что то не понимаете - рекомендую обратиться к первоисточникам...К Гради Бучу например...
Я не считаю, что это сложно, я считаю - не естественно.
лично я не представляю программирование более 10 тыщ строк без ООП.
Frankie
Конечно, мне придётся смириться. Сейчас я просто пытаюсь понять, почему ООП в прикладном программировании становится стандартом,
почему становится? сипп, давно вышел, и стал стандартом давно, вы просто только что о нем узнали я так понимаю.
Frankie а те, кто его не применяют либо мечтают о нём, либо, по мнению остальных, ладеко не пойдут. Первоисточники сыпят красивыми фразами типа "работа с моделью реального мира", "более высокая абстракция". Я воспринимаю это как уход от реальности. Вместо того, чтобы сосредоточиться на взаимодействии человек<->компьютер и больше ни на чём, пытаются интерпретировать какую-то бизнес логику... UML это вообще чума для меня.
распознование программы, базирующейся на ООП в разы проще, одлеяются объекты при работе с конкретным кусочком кода. вы как бы проводите операцию на человеке на очень маленькой области зная при этом, что остальное не постарадает.
Frankie
И ышо...
Процедурный язык...Или использование си плас плас (подразумевая что это ОО подход) - есть БОЛЕЕ ГРОМОЗДКИЕ конструкции (по коду) и более связанные между собой (!) чем проработка задачи с позиций ОО. Это - факт.
Иероглифы тоже короче букв, но это не значит что они легче и понятнее.
про громозкость: выскажите ваше мнение, как через 20 символов обозначить более 20000 функций, так, чтобы они естесственно не пересекались, и были элементарно понятны программисту??? также оссобенность языка си в его компакности, а дополнение классов гораздо увеличивает восприятие программ и свободу. Frankie
Как один из примеров порой привожу следующие цифры...
Это к чему? Я разве отрицаю, что оптимизация программ приводит к впечатляющим результатам?

Я думаю глупо спорить с тем фактом, что чем больше кода тем менее устойчива программа и прочие минусы...
Бывает устойчивый код и не очень. если каждая область устойчива и связки устойчивы, то программа устойчива. при увеличении количества функций количество связок увеличивается в разы, а значит возможно падение устойчивости Frankie
Дело не в количестве. Плохо написанное ОО-приложение фиксить гораздо сложнее процедурного. Сам проходил.
опять же. зависит от рук. можно написать отличный код, а можно поиздеваться и выстроить код квадратиками. вообще тогда код нечитаемым делается.
...
Рейтинг: 0 / 0
28.12.2006, 14:00
    #34230453
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
Frankie Станислав С2. Нет. Зачем резать "по живому" (менять что-то в РАБОТАЮЩЕЙ ПРОГРАММЕ)? Это плохой тон! Должна быть тестовая копия, где программу можно исковеркать по "самое нехочу" и должен быть релиз, с которым уже работают конечные пользователи...
Так и делается. Просто от меня требовалось дописать свойство и метод в калсс и при соответствующих событиях вызвать этот метод. Сделать можно за полчаса, но ведь задача не нарушить концепцию! 2 дня ушло на вникание в логику работы интерфейса (и это только часть!), в итоге сделал, и то не уверен, что это лучшее.

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

у меня возник вопрос: вы копались во всем коде из, скажем, 20000 функций, или только в его части? если в части, даже меньшей тыщи строк то сразу видна ощутимое упрощение работы с проектом.

а иначе поднимается вопрос о качестве рограммиста, написавшего данную программу.
...
Рейтинг: 0 / 0
28.12.2006, 14:09
    #34230500
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
FrankieТо есть нужен был именно свой тип данных.
Свои типы данных есть даже в С, а теперь есть в оракле - к ООП это не имеет никакого отношения.
...
Рейтинг: 0 / 0
28.12.2006, 14:09
    #34230501
Впечатления новичка от ООП
Frankie
Система учёта заказов, платежей, материалов для небольшой типографии.
Я сопровождал, а впоследствие переписал там 80%. PHP+MySQL. Для собственного использования, поэтому стоимость не знаю (да и дело это ооооочень относительное).

Тысяч 8 строк кода.

Ни одного класса.
Начнем с того, что PHP - изначально процедурный язык, с лево прикрученными классами.
Далее - система учета заказов (а точнее - управление складом, по сути), была лишь одним из десятка больших функциональных модулей (тесно связанных друг с другом) биллинга, в разработке которого мне приходилось участвовать. Система развивалась с 98-года. Изначально - на ООП. Потом всё ООП свелось просто к накидыванию объектов на форму и прописывании экшенов (а вся логика была по сути структурной). Я помню, какой ужас меня охватывал при попытках разобраться в этом бесконечном нагромождении кода, в котором не объектов, кроме GUI-контролов.

Система обслуживания заказов - суть базис, который программисту-автоматизаторщику следует знать. Я, кстати, пишу на Java. Может поэтому мне ООП близок и понятен.
...
Рейтинг: 0 / 0
28.12.2006, 14:13
    #34230523
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
(меня всё-равно забанят)Господа, расскажите мне, пожалуйста, системы какой сложности вы писали?
no comments
...
Рейтинг: 0 / 0
28.12.2006, 14:14
    #34230524
Впечатления новичка от ООП
мод (меня всё-равно забанят)Господа, расскажите мне, пожалуйста, системы какой сложности вы писали?
no comments
Или это была такая ирония?
Я что-то не уловил, простите.
...
Рейтинг: 0 / 0
28.12.2006, 14:17
    #34230535
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Впечатления новичка от ООП
kolobok0Классов штук около 2500После проработки было выявленно из бизнес слоя около 15 сущностей...
На 15 сущностей 2500 классов ? В топку такой проект.
...
Рейтинг: 0 / 0
28.12.2006, 14:18
    #34230540
Впечатления новичка от ООП
Frankie
Так и делается. Просто от меня требовалось дописать свойство и метод в калсс и при соответствующих событиях вызвать этот метод. Сделать можно за полчаса, но ведь задача не нарушить концепцию! 2 дня ушло на вникание в логику работы интерфейса (и это только часть!), в итоге сделал, и то не уверен, что это лучшее.

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

Так у вас была проблема в том, что не было понятно, при каких событиях вызывать метод?
Или вы два дня медитировали в раздумьях, не сломается ли что-нибудь, когда вы добавите произвольный метод (который кроме вас никому не нужен) к какому-то классу?
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Впечатления новичка от ООП / 25 сообщений из 906, страница 1 из 37
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]