Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2012, 11:55   #21
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вообще ООП не так тормозит как многие говорят.
это миф, поверьте.

тут больше проблемы идет при проектировании системы, когда вместо одной проверки в одном важном месте, ставят тысячу огромных в маловажных.
все относительно скажу я вам, и буду прав, при грамотном проектировании ООП сыграет хорошую роль.
при плохом, ООП и не-ООП, одинаково дадут плохой код.
Цитата:
Например, нужно написать многопоточный логгер событий, по сути метод с параметром строки. Как вы поступите? будете в приложение или юнит пихать переменную критической секции и инициализировать/финализировать ее в модуле? Еще несколько глобальных переменных имени файла, директории, чего-то еще... придумайте сами
в прооцедурном есть единица модуль это раз.
там будет обычная процедура Log(Logger:PLog;data:string) это при условии что логгер может быть не один.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 29.05.2012 в 12:05.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.05.2012, 12:11   #22
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Чтобы абстрагировать разнородные логики в свои самодостаточные мини-системы. Когда есть сложные проект, в котором выполняется много чего и это все должно взаимодействовать, как-то трудно представляется решать такие проблемы с помощью процедурного программирования и глобальных переменных.
Да в лёт. Или по-Вашему до ООП жизни на планете Земля не было что-ли? Те же БД, ОСи и прочие сложные и замученные плюшки. Даже компиляторы были . На Коболе вон ООП не было, а Си++ по количеству написанного и что главное используемого кода не сильно уступает и ничего, живут люди.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 29.05.2012 в 12:15.
Utkin вне форума Ответить с цитированием
Старый 29.05.2012, 12:18   #23
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Последние два поста, как я понял, выступают в защиту процедурного типа тогда о чем вообще спор, господа? вопрос, который задал ТС, многогранный и неоднозначный. Бывает и правда процедуру легче написать чем класс ваять.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 29.05.2012, 12:39   #24
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну как сказать, я более к тому что не нужно осуждать, клоню.
мне, лично, ООП приглянулось, стараюсь применять его.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.05.2012, 14:02   #25
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Да все им пользуются). Просто не люблю за излишний расход оперативки... при десятке-сотне объектов обычно это не столь заметно, но как только их количество разрастается, то нередко и всю память выедает этот бич компьютерный) и, что показательно, из всех возможностей объекта обычно используют лишь часть, а в память эта зараза лезет целиком) т.е., по-сути, часть оперативки занята ненужным мусором... Можно ссылаться на криворукость программеров, но таких программ море, где бездумно лепятся объекты, чтобы убрать десяток строк кода... ООП зачастую отучает людей думать...
Просто есть с чем сравнивать: видел программы обработки трёхмерных объектов летавшие на 386 процессорах, а счас подобное творение (ну может чуть более доработанное) требует не менее гигагерца в процессоре (а хватало-то всего 25Мгц и 1 Мб оперативки), видеокарты с поддержкой Директ Х... сколько это счастье (особенно с учётом библиотек директа) выедает из памяти вообще можно лучше промолчать)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 29.05.2012, 14:07   #26
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Это называется сговор между монополистами - производителями железа и софта . Не берите в голову.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 29.05.2012, 14:13   #27
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Просто есть с чем сравнивать: видел программы обработки трёхмерных объектов летавшие на 386 процессорах, а счас подобное творение (ну может чуть более доработанное) требует не менее гигагерца в процессоре (а хватало-то всего 25Мгц и 1 Мб оперативки), видеокарты с поддержкой Директ Х... сколько это счастье (особенно с учётом библиотек директа) выедает из памяти вообще можно лучше промолчать)
а качество/скорость не изменилось совсем?
Цитата:
Просто не люблю за излишний расход оперативки...
давайте не перекладывать кривые руки на само ООП.
да и не оно виновато. откажись от классов, будут структуры, расход памяти будет тот же.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.05.2012, 14:29   #28
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
а качество/скорость не изменилось совсем?
скорость раза в три увеличилась... кадров с 40 до 130... и это при 40-кратном увеличении быстродействия (если мерять по мегагерцам, а если в общей производительности, то раз в 200)... не сильно впечатляет...

Цитата:
давайте не перекладывать кривые руки на само ООП.
оно сильно способствует их появлению: зачем писать лишний код, когда можно просто ткнуть объект)

Цитата:
откажись от классов, будут структуры, расход памяти будет тот же.
отнюдь не всегда... пару программ переделывал так, что уменьшались почти в 15 раз... а в оперативке выигрыш был порядка 40%
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 29.05.2012, 14:32   #29
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
отнюдь не всегда... пару программ переделывал так, что уменьшались почти в 15 раз... а в оперативке выигрыш был порядка 40%
Пока Вы сделаете свою маленькую и быструю программу, конкуренты давно уже продадут свои медленные и неэффективные. Зато написанные в десять раз быстрей . В этом и есть прикол - будете долго писать устареете раньше чем дойдете до логического завершения.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 29.05.2012, 14:50   #30
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Не стоит путать ООП как средство организации кода (если угодно - способ мышления) и ООП как поддержка со стороны языка.

"Код в ООП-стиле" можно писать на процедурах. Только будет это... тяжко.
Процедурный код можно писать на объектах. (Чем поголовно занимаются все студенты в Delphi.)
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не будет ли ошибкой использовать инвок для случаев, когда он не требуется? gramp C# (си шарп) 4 18.04.2012 20:41
Когда нужно присваивать.. Writeln(Sum:8:4) ? Erlotaza Общие вопросы Delphi 1 09.03.2012 11:25
Try, throw, catch; нужно ли знать ООП PHP для изучения исключений? alex455 PHP 1 01.08.2011 13:46
masm32 подменяет JZ на JE тогда, когда это совсем не нужно notHaker Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 12.07.2011 17:57
сортировка, когда невозможно использовать свойства таблицы IndexFieldName Римма БД в Delphi 5 07.09.2007 10:56