![]() |
|
Модераторы: LSD Страницы: (11) Все « Первая ... 6 7 [8] 9 10 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: нет Всего: 93 |
Chingachguk
Так ответ твой был по делу Хотя споры -- это, конечно, вещь бесполезная. -------------------- Да. Именно так. |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: нет Всего: 93 |
Вот какая у меня мысль промелькнула по поводу сравнения ООП и процедурного программирования.
Основным плюсом ОО считается быстрота написания и совершенствования программ. Но ведь если брать ОО подход в чистом виде, то мы сталкиваемся с ужасающей избыточностью программ. Да и вообще соблюдение всех правил ООП сильно уменьшает эффективность программ. Как-то раз меня в воскресенье вызвали на работу, т.к. срочно надо было исправить пару глюков. Приезжаю я. Читаю письмо от чела, исправляю... И тут вижу последним пунктом в списке багов написано, что вот невозможно узнать состояние одного объекта из другого, так как переменная, отвечающая за состояние, объявлена private. Изменять же класс, написанный мной, он не стал. А теперь скажите, что я должен был делать в этом случае? Заранее предусмотреть все возможности нельзя. Я не думал, что состояние может понадобиться снаружи и поэтому сделал его недоступным, как и положено. Можно сказать, что во избежание таких ситуаций нужно писать геттеры для свойств объекта. Но это же трата времени. Написание кучи функций такого вида:
это очень интересное и полезное занятие. И так в каждом серьёзном классе у меня таких функций штук пять, так ещё и я должен предусмотреть, что в будущем может быть когда-нибудь понадобится ещё к какому-нибудь члену получить доступ. А ведь такие функции ещё и производительность снижают и размер кода увеличивают. Но зато ООП. До кучи ещё можно сказать, что почему это состояние у меня типа int, ведь нужно же отдельный enum или класс сделать Так вот сижу я в воскресенье вечером в пустынном офисе и улыбаясь, заменяю private на public без каких-либо душевных мук. Хрен с ним с этим ООП. -------------------- Да. Именно так. |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 4 Всего: 172 |
Дрон. Во-первых ИДЕ могут генерить подобные вещи за долю секунды, правда речь не о студии. Во-вторых, проперти/геттер/сеттер и вообще метод произвйдительность снижает настолько, что если бы не снижал, это бы ни на что не повлияло.
В-третьих, преимущество ООП состоит в переиспользовании кода, в инкапсуляции, гораздо меньшем времени затраченном на дебаггинг, удобочитаемости кода, и т п. Для того, чтобы это понять, нужно читать хорошие книжки и писать код. В какой-то момент начинаешь понимать, что ты пишешь правильный код. А так все рассуждения здесь больно смешно (для меня) звучат -------------------- |
|||
|
||||
| Дрон |
|
||||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: нет Всего: 93 |
Domestic Cat
Я старался Не собирался же я тут разбивать в пух и прах идеи ООП. Я просто привёл пример того, что ООП не идеально. Мне оно одновременно и нравится, и не нравится. Наследование и полиморфизм это круто, но зато инкапсуляция -- фигня.
По порядку: Возможность переиспользования кода требует зарание предусмотреть все варианты использования объекта. А это, согласись, довольно трудоёмкий процесс. Инкапсуляция. Да, она снижает вероятность появления багов, особенно, когда код пишут несколько человек. Но ведь и создаёт сложности. Когда нет возможности забраться внутрь, то приходится иногда такие извращения придумывать, чтобы получить нужный результат. Дебаггинг. Сложно сказать. У меня большинство багов не зависят от структуры. А вот идти step-by-step, когда у тебя на одну строку штук пять геттеров вызывается, действительно неприятно. Удобочитаемость. Тут сложно оспорить. Когда привык к объектам, то действительно всё легко и красиво. Но ведь если тебя заставить пару лет писать в обратной польской нотации, ты бы к ней тоже привык В общем ООП облегчает жизнь, если на нём не зацикливаться -------------------- Да. Именно так. |
||||
|
|||||
| Chingachguk |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
На серьезные аргументы (сравнение с другими подходами) времени нет, а на подколки есть ? ;) ok. А для меня прикольно глядеть на мастодонтообразный код (исполняемый), полученный от ООП. Инженера интела старались, проц разогнали в десятки раз, а вы его тормознули - видимо, чтобы пользователю было привычнее работать в черепашных прогах.
Респект! Никто не говорил, что ООП - отстой. Просто все в конце концов совершенствуется путем обобщения прошлого опыта. И (имхо) возможны и другие варианты. Это сообщение отредактировал(а) Chingachguk - 24.4.2005, 13:01 -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
||||
|
|||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 4 Всего: 172 |
На серьезные ответы уйма времени уходит -------------------- |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 4 Всего: 165 |
Народ. А кто вообще пораспускал мифы что C++ медленее Си? Убейте - не пойму, чего там медленного...
--------------------
|
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 4 Всего: 172 |
Ну вообще-то медленнее, например методы нужно уже связывать динамически а не статически, что снижает скорость.
-------------------- |
|||
|
||||
| Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 1 Всего: 62 |
BIG OffTopic:
Сегодня страшный(а может великий) день в моей жизни! Так сложилась судьба(звёзды, карма), что Я СТАЛ ДЕЛЬФИЙЦЕМ! Больше я не буду хаять Дельфи(ну разве что язык), буду материть .Net! Товарищи дельфийцы, встречайте попонение в своих рядах, я пришёл! УРА! УРА! УРА! Теперь могу заявить: Delphi будет жить! Мы ещё второй большой взрыв переживём! Для меня на свете есть только 2 языка: Delphi & Java! |
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Ни разу в жизни не видел программера, к-й бы сказал "Сегодня я стал Дельфийцем, Java-истом, дотНЕТовцом" (нужное подчеркнуть).
Не удержусь спросить, как можно так определиться за один день?
а вот этого не советую. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Ch0bits |
|
||||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 1 Всего: 62 |
Да нее... я буду криптованый мат юзать. ШюТкА!
Народная мудрость: старику где тепло там и родина. Теперь угадай как? |
||||
|
|||||
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: 1 Всего: 61 |
Vadim999
Ну собственно правильный выбор. Поздравляю!!! |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 4 Всего: 165 |
Ужоснах.
--------------------
|
|||
|
||||
| simanyay |
|
|||
![]() Антон Ковалёв ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: 0 Всего: 36 |
Кошмар
-------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
| Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 1 Всего: 62 |
Сгинь-сгинь нечистый... чур меня...
|
|||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |