Вот отрывок из книши одного очень хорошего писателя:
- Долгая история. Все дело в том, что местные программисты пошли
по неверному пути. Этот путь называется объектно ориентированный подход
в программировании. На самом деле это мина с часовым механизмом в
красивой упаковке. В очень красивой упаковке. Как с этим бороться, я
не знаю. Упустил момент.
- Мастер, ближе к делу.
- Знаешь анекдот, как программист кипятит чайник. Дано: пустой
чайник, кран, спички, газовая плита. Программа действий: наполнить
чайник водой из-под крана, поставить на плиту, зажечь газ. Ждать, пока
закипит чайник. Эта программа оформляется как объект. Второй случай.
Все то же самое, но чайник с водой уже стоит на плите. Действия
программиста: вылить воду из чайника и выполнить предыдущий объект.
- Грустно. А нырнуть внутрь объекта нельзя? Туда, где надо газ
зажечь?
- Нельзя. Можно добавить новое свойство или действие. В нашем случае
- воду вылить. Будет новый объект. Но внутрь влезть нельзя. Объект дается
как единое целое. Никто не знает, что там внутри. Все давно забыли, откуда
ноги растут. В результате получается колоссальное дублирование кода и данных
и огромная потеря производительности компьютера. С каждым годом компьютеры
требуют все больше памяти, а работают все медленнее.
Которая лишь подтверждает мысль, что ООП везде — это вред и блед, хотя и не отрицает что в бизнес приложениях ООП — это просто круто
... << RSDN@Home 1.1.2 beta 2 >>
15.12.03 11:36: Перенесено модератором из 'Проектирование' — ХД
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Здравствуйте, Hacker_Delphi, Вы писали:
H_D>Вот отрывок из книши одного очень хорошего писателя: H_D>
H_D> - Долгая история. Все дело в том, что местные программисты пошли
H_D>по неверному пути. Этот путь называется объектно ориентированный подход
H_D>в программировании. На самом деле это мина с часовым механизмом в
H_D>красивой упаковке. В очень красивой упаковке. Как с этим бороться, я
H_D>не знаю. Упустил момент.
H_D> - Мастер, ближе к делу.
H_D> - Знаешь анекдот, как программист кипятит чайник. Дано: пустой
H_D>чайник, кран, спички, газовая плита. Программа действий: наполнить
H_D>чайник водой из-под крана, поставить на плиту, зажечь газ. Ждать, пока
H_D>закипит чайник. Эта программа оформляется как объект. Второй случай.
H_D>Все то же самое, но чайник с водой уже стоит на плите. Действия
H_D>программиста: вылить воду из чайника и выполнить предыдущий объект.
H_D> - Грустно. А нырнуть внутрь объекта нельзя? Туда, где надо газ
H_D>зажечь?
H_D> - Нельзя. Можно добавить новое свойство или действие. В нашем случае
H_D>- воду вылить. Будет новый объект. Но внутрь влезть нельзя. Объект дается
H_D>как единое целое. Никто не знает, что там внутри. Все давно забыли, откуда
H_D>ноги растут. В результате получается колоссальное дублирование кода и данных
H_D>и огромная потеря производительности компьютера. С каждым годом компьютеры
H_D>требуют все больше памяти, а работают все медленнее.
H_D>
H_D>Которая лишь подтверждает мысль, что ООП везде — это вред и блед, хотя и не отрицает что в бизнес приложениях ООП — это просто круто
"Это спорный вопрос. Я Вам ничего плохого не делал" (с) Лукашин
Ты лучше скажи что за книжка и где ее взять.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Hacker_Delphi, Вы писали:
H_D>Которая лишь подтверждает мысль, что ООП везде — это вред и блед, хотя и не отрицает что в бизнес приложениях ООП — это просто круто
А там не сказано, куда делись громандные функицонально-ориентированные монстры? :-D
Здравствуйте, LaptevVV, Вы писали:
[skipped] LVV>"Это спорный вопрос. Я Вам ничего плохого не делал" (с) Лукашин LVV>Ты лучше скажи что за книжка и где ее взять.
Павел Шумилов (Павел Шумил) "Пойди поймай свою звезду".
Взять — в интернете, лежит на его сайте в свободном доступе...
точнее щаз не скжу — фавориты все потерлись... добавлю только, что сайт тот, который на narod.ru.
PS Данное произведенгие, как и большинство его произведений не издано в бумажном виже.
... << RSDN@Home 1.1.2 beta 2 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Здравствуйте, Hacker_Delphi, Вы писали:
H_D>Здравствуйте, LaptevVV, Вы писали: H_D>[skipped] LVV>>"Это спорный вопрос. Я Вам ничего плохого не делал" (с) Лукашин LVV>>Ты лучше скажи что за книжка и где ее взять. H_D>Павел Шумилов (Павел Шумил) "Пойди поймай свою звезду". H_D>Взять — в интернете, лежит на его сайте в свободном доступе... H_D>точнее щаз не скжу — фавориты все потерлись... добавлю только, что сайт тот, который на narod.ru. H_D>PS Данное произведенгие, как и большинство его произведений не издано в бумажном виже.
В бмажном виде изданы 2 или 3 книжки из Слова о драконе и вроде бы я видел "Страшные сказки"
H_D> — Знаешь анекдот, как программист кипятит чайник. Дано: пустой H_D>чайник, кран, спички, газовая плита. Программа действий: наполнить H_D>чайник водой из-под крана, поставить на плиту, зажечь газ. Ждать, пока H_D>закипит чайник. Эта программа оформляется как объект. Второй случай. H_D>Все то же самое, но чайник с водой уже стоит на плите. Действия H_D>программиста: вылить воду из чайника и выполнить предыдущий объект. H_D>Которая лишь подтверждает мысль, что ООП везде — это вред и блед, хотя и не отрицает что в бизнес приложениях ООП — это просто круто
Вообщето приведена какая совершенно глупая ООп модель, для данного случая (неверная декомпозиция)..
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Здравствуйте, Hacker_Delphi, Вы писали:
H_D>Здравствуйте, LaptevVV, Вы писали: H_D>[skipped] LVV>>"Это спорный вопрос. Я Вам ничего плохого не делал" (с) Лукашин LVV>>Ты лучше скажи что за книжка и где ее взять. H_D>Павел Шумилов (Павел Шумил) "Пойди поймай свою звезду". H_D>Взять — в интернете, лежит на его сайте в свободном доступе... H_D>точнее щаз не скжу — фавориты все потерлись... добавлю только, что сайт тот, который на narod.ru. H_D>PS Данное произведенгие, как и большинство его произведений не издано в бумажном виже.
Большой рахмат!!!!!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Алексей Одинцов, Вы писали:
АО>Здравствуйте, Hacker_Delphi, Вы писали:
H_D>>Которая лишь подтверждает мысль, что ООП везде — это вред и блед, хотя и не отрицает что в бизнес приложениях ООП — это просто круто
АО>А там не сказано, куда делись громандные функицонально-ориентированные монстры? :-D
Нет... тот, от чьего имени это все исходит на 300 лет в добровольное отшельничество отлучался...
... << RSDN@Home 1.1.2 beta 2 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
LVV>>"Это спорный вопрос. Я Вам ничего плохого не делал" (с) Лукашин LVV>>Ты лучше скажи что за книжка и где ее взять. H_D>Павел Шумилов (Павел Шумил) "Пойди поймай свою звезду". H_D>Взять — в интернете, лежит на его сайте в свободном доступе...
Здравствуйте, Hacker_Delphi, Вы писали:
H_D>Вот отрывок из книши одного очень хорошего писателя: H_D>
[...]
H_D>
H_D>Которая лишь подтверждает мысль, что ООП везде — это вред и блед, хотя и не отрицает что в бизнес приложениях ООП — это просто круто
Этот пример классического непонимания ООП.
Очень хорошее объяснение этому заблуждению можно найти в статье Objects Have Failed.
Objects, as envisioned by the designers of languages like Smalltalk and Actors—long before C++ and Java came around— were for modeling and building complex, dynamic worlds. Programming environments for languages like Smalltalk were written in those languages and were extensible by developers. Because the philosophy of dynamic change was part of the post-Simula OO worldview, languages and environments of that era were highly dynamic.
But with C++ and Java, the dynamic thinking fostered by object-oriented languages was nearly fatally assaulted by the theology of static thinking inherited from our mathematical heritage and the assumptions built into our views of computing by Charles Babbage whose factory-building worldview was dominated by omniscience and omnipotence.
And as a result we find that object-oriented languages have succumb to static thinkers who worship perfect planning over runtime adaptability, early decisions over late ones, and the wisdom of compilers over the cleverness of failure detection and repair.
Здравствуйте, Hacker_Delphi, Вы писали:
H_D>Вот отрывок из книши одного очень хорошего писателя: H_D>
H_D> - Долгая история. Все дело в том, что местные программисты пошли
H_D>по неверному пути. Этот путь называется объектно ориентированный подход
H_D>в программировании. На самом деле это мина с часовым механизмом в
H_D>красивой упаковке. В очень красивой упаковке. Как с этим бороться, я
H_D>не знаю. Упустил момент.
H_D> - Мастер, ближе к делу.
H_D> - Знаешь анекдот, как программист кипятит чайник. Дано: пустой
H_D>чайник, кран, спички, газовая плита. Программа действий: наполнить
H_D>чайник водой из-под крана, поставить на плиту, зажечь газ. Ждать, пока
H_D>закипит чайник. Эта программа оформляется как объект. Второй случай.
H_D>Все то же самое, но чайник с водой уже стоит на плите. Действия
H_D>программиста: вылить воду из чайника и выполнить предыдущий объект.
H_D> - Грустно. А нырнуть внутрь объекта нельзя? Туда, где надо газ
H_D>зажечь?
H_D> - Нельзя. Можно добавить новое свойство или действие. В нашем случае
H_D>- воду вылить. Будет новый объект. Но внутрь влезть нельзя. Объект дается
H_D>как единое целое. Никто не знает, что там внутри. Все давно забыли, откуда
H_D>ноги растут. В результате получается колоссальное дублирование кода и данных
H_D>и огромная потеря производительности компьютера. С каждым годом компьютеры
H_D>требуют все больше памяти, а работают все медленнее.
H_D>
чушь какая-то :)))
особенно мне понравилась фраза "выполнить предыдущий объект". Прям функторы :))))
И так далее. "воду вылить. Будет новый объект."
Явно автор не понимает, о чем пишет.
Здравствуйте, jazzer, Вы писали:
J>чушь какая-то J>особенно мне понравилась фраза "выполнить предыдущий объект". Прям функторы ) J>И так далее. "воду вылить. Будет новый объект." J>Явно автор не понимает, о чем пишет.
Да нет, судя по его другому произведения ("Долг перед видом") очень даже понимает.
Просто пишет он не только для тех, кто разбирается в программировании и тем более — в ООП.
ты читай не "объект вскипятить воду", а "метод объекта чайник всипятить воду" то же самое с "вылить воду" — и поямешь, что он описывает все верно
... << RSDN@Home 1.1.2 beta 2 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Здравствуйте, dad, Вы писали:
LVV>>>"Это спорный вопрос. Я Вам ничего плохого не делал" (с) Лукашин LVV>>>Ты лучше скажи что за книжка и где ее взять. H_D>>Павел Шумилов (Павел Шумил) "Пойди поймай свою звезду". H_D>>Взять — в интернете, лежит на его сайте в свободном доступе...
dad>Так это киберпанк какой то , причем тут ООП?
dad>http://lib.udm.ru/lib/RUFANT/SHUMIL/
не — не киберпанк.. если прочитаешь все его произведения — поймешь, что это — science fiction.
Блин! тоже мне программисты... ПОЧЕМУ ВСЕ ВСЕ ПОНЯЛИ ТОЛЬКО БУКВАЛЬНО???
... << RSDN@Home 1.1.2 beta 2 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Здравствуйте, jazzer, Вы писали:
J>Здравствуйте, Hacker_Delphi, Вы писали:
H_D>>Вот отрывок из книши одного очень хорошего писателя: H_D>>
H_D>> - Долгая история. Все дело в том, что местные программисты пошли
H_D>>по неверному пути. Этот путь называется объектно ориентированный подход
H_D>>в программировании. На самом деле это мина с часовым механизмом в
H_D>>красивой упаковке. В очень красивой упаковке. Как с этим бороться, я
H_D>>не знаю. Упустил момент.
H_D>> - Мастер, ближе к делу.
H_D>> - Знаешь анекдот, как программист кипятит чайник. Дано: пустой
H_D>>чайник, кран, спички, газовая плита. Программа действий: наполнить
H_D>>чайник водой из-под крана, поставить на плиту, зажечь газ. Ждать, пока
H_D>>закипит чайник. Эта программа оформляется как объект. Второй случай.
H_D>>Все то же самое, но чайник с водой уже стоит на плите. Действия
H_D>>программиста: вылить воду из чайника и выполнить предыдущий объект.
H_D>> - Грустно. А нырнуть внутрь объекта нельзя? Туда, где надо газ
H_D>>зажечь?
H_D>> - Нельзя. Можно добавить новое свойство или действие. В нашем случае
H_D>>- воду вылить. Будет новый объект. Но внутрь влезть нельзя. Объект дается
H_D>>как единое целое. Никто не знает, что там внутри. Все давно забыли, откуда
H_D>>ноги растут. В результате получается колоссальное дублирование кода и данных
H_D>>и огромная потеря производительности компьютера. С каждым годом компьютеры
H_D>>требуют все больше памяти, а работают все медленнее.
H_D>>
Кстати действие тоже можно представить обтектом, пример тому делегаты в .NET Ну чем не объект? А выполнить ты его можешь? Можешь И что тебе не нравится?
J>И так далее. "воду вылить. Будет новый объект."
Можно добавить новое свойство или действие. В нашем случае
— воду вылить. Будет новый объект.
воду вылить — метод, если добавить новый метод, будет новый класс. Все логично, А вот если оставить только
"воду вылить. Будет новый объект." Получается действительно чушь. Не надо вырывать слова их контекста.
J>Явно автор не понимает, о чем пишет.
На самом деле не вижу никаких больших ляпов... ты бы примерно так же 5 летнему ребенку обьяснял. На пальцах.
Здравствуйте, Ведмедь, Вы писали:
J>>чушь какая-то :))) J>>особенно мне понравилась фраза "выполнить предыдущий объект". Прям функторы :))))
В>Кстати действие тоже можно представить обтектом, пример тому делегаты в .NET :) Ну чем не объект? А выполнить ты его можешь? Можешь :) И что тебе не нравится? :)
я и говорю — функторы. Кстати, попробуй объяснить их 5-летнему ребенку. На пальцах :)
J>>И так далее. "воду вылить. Будет новый объект."
В>Можно добавить новое свойство или действие. В нашем случае В>- воду вылить. Будет новый объект.
В>воду вылить — метод, если добавить новый метод, будет новый класс. Все логично, А вот если оставить только
В>"воду вылить. Будет новый объект." Получается действительно чушь. Не надо вырывать слова их контекста.
это ж надо было додуматься — спроектировать чайник, в который воду можно только налить и вскипятить, а вот вылить уже нельзя :))))))) типа и горлышко забыли пробить, и дно забыли приделать :)
Конечно — получается новый класс — чайник, из которого, наконец-то, можно будет все-таки вылить воду.
J>>Явно автор не понимает, о чем пишет.
В>На самом деле не вижу никаких больших ляпов... ты бы примерно так же 5 летнему ребенку обьяснял. На пальцах.
абсолютно не так я бы ему объяснял. Чайник НЕ МОЖЕТ сам поставиться на плиту, сам залиться водой. А сам вскипятиться может только электрический чайник. Но он, опять же, не может сам включиться.