Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.156] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 170 171 [172] 173 174 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#2566
,
|
|
|
|
Цитата MyNameIsIgor @ Однако же, во-первых, эту привязку отслеживает IDE и потому рефакторится легко и непринуждённо, а не дебильным дедовским find/replace. ох, возможно ненароком вброшу ![]() Цитата Александр Степанов "Я уверен, что ООП методологически неверна. Она начинает с построения классов. Это как если бы математики начинали бы с аксиом. Но реально никто не начинает с аксиом, все начинают с доказательств. Только когда найден набор подходящих доказательств, лишь тогда на этой основе выводится аксиома. Т.е. в математике вы заканчиваете аксиомой. Тоже самое и с программированием: сначала вы должны начинать развивать алгоритмы, и только в конце этой работы приходите к тому, что вы в состоянии сформулировать четкие и непротиворечивые интерфейсы. Именно из-за этой неразберихи в ООП так популярен рефакторинг - из-за ущербности парадигмы вы просто обречены на переписывание программы, уже в тот самый момент, когда только задумали её спроектировать в ООП-стиле". http://blogerator.ru/page/oop_why-objects-have-failed |
|
Сообщ.
#2567
,
|
|
|
|
Цитата DesweR @ ох, возможно ненароком вброшу ![]() Цитата Александр Степанов "Я уверен, что ООП методологически неверна. Она начинает с построения классов. Это как если бы математики начинали бы с аксиом. Но реально никто не начинает с аксиом, все начинают с доказательств. Только когда найден набор подходящих доказательств, лишь тогда на этой основе выводится аксиома. Т.е. в математике вы заканчиваете аксиомой. Тоже самое и с программированием: сначала вы должны начинать развивать алгоритмы, и только в конце этой работы приходите к тому, что вы в состоянии сформулировать четкие и непротиворечивые интерфейсы. Именно из-за этой неразберихи в ООП так популярен рефакторинг - из-за ущербности парадигмы вы просто обречены на переписывание программы, уже в тот самый момент, когда только задумали её спроектировать в ООП-стиле". http://blogerator.ru/page/oop_why-objects-have-failed Да обсуждалось уже. На самом деле, ключевая проблема в том, что ООП часто преподносили как панацею и серебряную пулю. Но чудес не бывает. А еще ООП присвоило себе некоторые принципы, которые были и до него, в частности инкапсуляцию и полиморфизм. А в чистом виде идея об объектах, обменивающихся сообщениями, хороша далеко не всегда. |
|
Сообщ.
#2568
,
|
|
|
|
Если бы товарищ Степанов нам ещё и разумную альтернативу предложил, цены бы ему не было.
|
|
Сообщ.
#2569
,
|
|
|
|
Цитата Повстанець @ Если бы товарищ Степанов нам ещё и разумную альтернативу предложил, цены бы ему не было. Ооооо, вот ща нам и расскажут про функциональщину и даже получим сцылку на блог Зефирова, где русским по браузерному окну сказано - серебряная пуля есть! |
|
Сообщ.
#2570
,
|
|
|
|
Цитата MyNameIsIgor @ Функциональщина не избавляет от ООП. Ооооо, вот ща нам и расскажут про функциональщину и даже получим сцылку на блог Зефирова, где русским по браузерному окну сказано - серебряная пуля есть! |
|
Сообщ.
#2571
,
|
|
|
|
Цитата Повстанець @ Если бы товарищ Степанов нам ещё и разумную альтернативу предложил, цены бы ему не было. ![]() Цитата сначала вы должны начинать развивать алгоритмы, и только в конце этой работы приходите к тому, что вы в состоянии сформулировать четкие и непротиворечивые интерфейсы. Именно из-за этой неразберихи в ООП так популярен рефакторинг - из-за ущербности парадигмы вы просто обречены на переписывание программы, уже в тот самый момент, когда только задумали её спроектировать в ООП-стиле Или автор STL говорит чушь? Добавлено Цитата Повстанець @ Цитата MyNameIsIgor @ Функциональщина не избавляет от ООП.Ооооо, вот ща нам и расскажут про функциональщину и даже получим сцылку на блог Зефирова, где русским по браузерному окну сказано - серебряная пуля есть! В смысле не избавляет? Ты как о наркотиках говоришь Вполне можешь писать в функциональном стиле и не использовать ООП. Более того, ООП все-таки императив, как ни крути. Вот если смотреть далее в сторону акторов и агентно-ориентированного программирования, то там есть простор для связи ООП, ФП и ЛП. Добавлено Немного ближе к теме холивара Цитата Р.Столлман ООП ради самой ООП уже давно превратилось в замкнутый круг. Конечно, можно считать C# в .NET 3.5 с более чем 50,000 реализованных классов "венцом эволюции". Добавить в следующей версии .NET ещё миллион классов - что может быть более правильным и более вожделенным, с точки зрения ООП-программиста? Говорите, это и есть то самое бегство от сложности? |
|
Сообщ.
#2572
,
|
|
|
|
Цитата D_KEY @ Понимаешь, в холиварах ООП и неООП, неООП всегда будет побеждать. Во всяком случае иметь большую фору. Сторонники неООП имеют в арсенале широкое поле для критики, недостатки, накопленные опытом тысяч систем, миллионов программистов и десятилетий времени. В спорах они сразу же прибегают к агрессивной атаке и давят накопленніми аргументами. Сама же их позиция кроме как "неООП" больше ничем не характеризуется и критиковать их не за что. Или автор STL говорит чушь? |
|
Сообщ.
#2573
,
|
|
|
|
Цитата Повстанець @ Цитата D_KEY @ Понимаешь, в холиварах ООП и неООП, неООП всегда будет побеждать. Во всяком случае иметь большую фору. Сторонники неООП имеют в арсенале широкое поле для критики, недостатки, накопленные опытом тысяч систем, миллионов программистов и десятилетий времени. В спорах они сразу же прибегают к агрессивной атаке и давят накопленніми аргументами. Сама же их позиция кроме как "неООП" больше ничем не характеризуется и критиковать их не за что.Или автор STL говорит чушь? Ну почему же не за что? Есть системы, написанные не в ООП-стиле. Или ОС, системы связи, различные космические аппараты и т.п. не являются примерами сложных систем? На практике очень часто видно, как ООП приводит к избыточности, перегруженности, неоправданному усложнению системы, а тот же рефакторинг необходим практически всегда. Разве нет? Кроме того, Степанов говорит, что нужно идти не от классов, а от алгоритмов и вообще действий, а потом уже определять сущности и интерфейсы. |
|
Сообщ.
#2574
,
|
|
|
|
Цитата D_KEY @ От этого объекты описываемые этими интерфейсами перестанут быть объектами, а система в целом не будет объектно-ориентированной? Собственно, кто мешает так делать, хоть на процедурно-модульном паскале?Кроме того, Степанов говорит, что нужно идти не от классов, а от алгоритмов и вообще действий, а потом уже определять сущности и интерфейсы. Цитата D_KEY @ Да. Это что то меняет? В какой парадигме эти недостатки отсутствуют?На практике очень часто видно, как ООП приводит к избыточности, перегруженности, неоправданному усложнению системы, а тот же рефакторинг необходим практически всегда. Разве нет? Цитата D_KEY @ Что то сферическое в вакууме. Есть, к примеру оконная система, GUI одним словом. Можно пример не ООПшной декомпозиции, не превращающей в дикий гиморой её использование. В двух словах, не надо много писать. Ну почему же не за что? Есть системы, написанные не в ООП-стиле. Или ОС, системы связи, различные космические аппараты и т.п. не являются примерами сложных систем? |
|
Сообщ.
#2575
,
|
|
|
|
Цитата Повстанець @ Цитата D_KEY @ От этого объекты описываемые этими интерфейсами перестанут быть объектами, а система в целом не будет объектно-ориентированной? Собственно, кто мешает так делать, хоть на процедурно-модульном паскале?Кроме того, Степанов говорит, что нужно идти не от классов, а от алгоритмов и вообще действий, а потом уже определять сущности и интерфейсы. Никто не мешает. И это уже будет не ООП, если ключевыми компонентами системы являются алгоритмы, действия и модули, а объекты вторичны, не обладают самостоятельным поведением и не определяют систему. Цитата Рефакторинг активно применяется только в ООП.Цитата D_KEY @ Да. Это что то меняет? В какой парадигме эти недостатки отсутствуют?На практике очень часто видно, как ООП приводит к избыточности, перегруженности, неоправданному усложнению системы, а тот же рефакторинг необходим практически всегда. Разве нет? Возьми любую литературу по этому вопросу. Посмотри типовые рекомендации по рефакторингу. Все они касаются проблем, имеющих место исключительно в ООП. Цитата Не занимаюсь GUI. Но тут согласен, ООП имеет явные преимущества. И не случайно, даже библиотеки GUI для языков, не поддерживающих напрямую ООП, так или иначе, используют ОО-декомпозицию.Есть, к примеру оконная система, GUI одним словом. Можно пример не ООПшной декомпозиции, не превращающей в дикий гиморой её использование. В двух словах, не надо много писать. Если тему читает кто-то, делающий GUI не в ООП стиле, то может поделиться интересными моментами... |
|
Сообщ.
#2576
,
|
|
|
|
Цитата D_KEY @ С чего бы это вдруг? Рост/развитие любой программы рано или поздно приводит к необходимости рефакторинга независимо от того, на чем она написана. Рефакторинг активно применяется только в ООП. Добавлено Цитата D_KEY @ А может они просто описаны в терминах ООП? Все они касаются проблем, имеющих место исключительно в ООП. |
|
Сообщ.
#2577
,
|
|
|
|
Цитата trainer @ Цитата D_KEY @ С чего бы это вдруг?Рефакторинг активно применяется только в ООП. Вот это и интересно. Цитата Рост/развитие любой программы рано или поздно приводит к необходимости рефакторинга независимо от того, на чем она написана. Но почему-то о рефакторинге слышно только от ООП-программистов... |
|
Сообщ.
#2578
,
|
|
|
|
Цитата D_KEY @ Т.е. от всех практикующих программистов... Но почему-то о рефакторинге слышно только от ООП-программистов... |
|
Сообщ.
#2579
,
|
|
|
|
Цитата Повстанець @ Цитата D_KEY @ Т.е. от всех практикующих программистов... Но почему-то о рефакторинге слышно только от ООП-программистов... ![]() Ничем не подтвержденное высказывание |
|
Сообщ.
#2580
,
|
|
|
|
Цитата D_KEY @ Кроме того, Степанов говорит, что нужно идти не от классов, а от алгоритмов и вообще действий, а потом уже определять сущности и интерфейсы. а Реймонд говорит, что сначала нужно спроектировать структуры данных, а алгоритмы тогда станут очевидными =) |