Инкаспуляция, наследование, полиморфизм
От: McSeem2 США http://www.antigrain.com
Дата: 10.04.13 18:00
Оценка: 33 (2) +3 -5 :))) :)
Все это такое фуфло, я вас скажу эти ваши философии. Так же как и много других умных слов про программирование. На практике же, надо просто решать конкретную прикладную задачу, вот и все. И в результате оказывается, что умные программеры во всем коде на C# (!) во всю используют глобальные переменные! Как на старом добром Фортране — везде фигурирует MainForm.Instance.CurCofig.бла-бла. Ну и че? Это плохо? Нет — это нормально. Потому что софта работает и выполняет свою задачу. Ну это наверное мое личное мировосприятие — программирование является лишь вспомогательным инструментом для решения более серьезных задач, инженерного и научного типа. И пофигу на весь этот ваш умный computer science, тем более, что иногда приходится объяснять, что поделить на 10 это не то же, что умножить на 0.1 — вот в чем заключается computer science, а не в том, что бы наследовать хрень от белиберды или наоборот.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re: Инкаспуляция, наследование, полиморфизм
От: Qbit86 Кипр
Дата: 10.04.13 18:03
Оценка: +2
Здравствуйте, McSeem2, Вы писали:

MS>Все это такое фуфло, я вас скажу эти ваши философии.


Aw Jeez, Not This Shit Again.jpg
Глаза у меня добрые, но рубашка — смирительная!
Re: Инкаспуляция, наследование, полиморфизм
От: Географ Россия нет
Дата: 10.04.13 18:14
Оценка: +1
Здравствуйте, McSeem2, Вы писали:

MS>Все это такое фуфло, я вас скажу эти ваши философии. Так же как и много других умных слов про программирование. На практике же, надо просто решать конкретную прикладную задачу, вот и все. И в результате оказывается, что умные программеры во всем коде на C# (!) во всю используют глобальные переменные! Как на старом добром Фортране — везде фигурирует MainForm.Instance.CurCofig.бла-бла. Ну и че? Это плохо? Нет — это нормально. Потому что софта работает и выполняет свою задачу. Ну это наверное мое личное мировосприятие — программирование является лишь вспомогательным инструментом для решения более серьезных задач, инженерного и научного типа. И пофигу на весь этот ваш умный computer science, тем более, что иногда приходится объяснять, что поделить на 10 это не то же, что умножить на 0.1 — вот в чем заключается computer science, а не в том, что бы наследовать хрень от белиберды или наоборот.


Часто — да. Но для разработки большой и сложной системы с длительным циклом переделки и доработки в будущем эти штуки весьма полезны.
Re: Инкаспуляция, наследование, полиморфизм
От: Ziaw Россия  
Дата: 11.04.13 06:57
Оценка: +1
Здравствуйте, McSeem2, Вы писали:

MS>Все это такое фуфло, я вас скажу эти ваши философии. Так же как и много других умных слов про программирование. На практике же, надо просто решать конкретную прикладную задачу, вот и все. И в результате оказывается, что умные программеры во всем коде на C# (!) во всю используют глобальные переменные! Как на старом добром Фортране — везде фигурирует MainForm.Instance.CurCofig.бла-бла. Ну и че? Это плохо? Нет — это нормально. Потому что софта работает и выполняет свою задачу. Ну это наверное мое личное мировосприятие — программирование является лишь вспомогательным инструментом для решения более серьезных задач, инженерного и научного типа.


С этим я совершенно согласен.

MS>И пофигу на весь этот ваш умный computer science, тем более, что иногда приходится объяснять, что поделить на 10 это не то же, что умножить на 0.1 — вот в чем заключается computer science, а не в том, что бы наследовать хрень от белиберды или наоборот.


А с этим — нет. Когда в решении начинают участвовать мегатонны кода, становится очень важно, хрень там от белиберды или наоборот. Потому, что если не так как надо, то придется переписать 10 мегатонн или добавлять еще 5 мегатонн совершеннейших макарон. Это другая сложность, не алгоритмическая. Тем не менее проблема актуальная и от нее никуда не уйти.

Но я последнее время начал понимать, что даже в мегатоннах кода, MainForm.Instance.CurCofig работает иногда лучше других решений. И это хорошо.
Re: Инкаспуляция, наследование, полиморфизм
От: Abyx Россия  
Дата: 11.04.13 07:11
Оценка: +1
Здравствуйте, McSeem2, Вы писали:

MS>Все это такое фуфло, я вас скажу эти ваши философии. Так же как и много других умных слов про программирование. На практике же, надо просто решать конкретную прикладную задачу, вот и все. И в результате оказывается, что умные программеры во всем коде на C# (!) во всю используют глобальные переменные! Как на старом добром Фортране — везде фигурирует MainForm.Instance.CurCofig.бла-бла. Ну и че? Это плохо? Нет — это нормально. Потому что софта работает и выполняет свою задачу. Ну это наверное мое личное мировосприятие — программирование является лишь вспомогательным инструментом для решения более серьезных задач, инженерного и научного типа. И пофигу на весь этот ваш умный computer science, тем более, что иногда приходится объяснять, что поделить на 10 это не то же, что умножить на 0.1 — вот в чем заключается computer science, а не в том, что бы наследовать хрень от белиберды или наоборот.


понимаешь, в science за каждой вещью стоит куча статей объясняющих почему оно нужно, в т.ч. с примерами.
я надеюсь что ты их читал.
если с чем-то конкретным там не согласен, давай конкретный пример что где и почему не так.
In Zen We Trust
Re: Инкаспуляция, наследование, полиморфизм
От: samius Япония http://sams-tricks.blogspot.com
Дата: 11.04.13 07:28
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>Все это такое фуфло, я вас скажу эти ваши философии. Так же как и много других умных слов про программирование. На практике же, надо просто решать конкретную прикладную задачу, вот и все. И в результате оказывается, что умные программеры во всем коде на C# (!) во всю используют глобальные переменные! Как на старом добром Фортране — везде фигурирует MainForm.Instance.CurCofig.бла-бла. Ну и че? Это плохо? Нет — это нормально. Потому что софта работает и выполняет свою задачу.

При единственной задаче софта "работать" — самое тупое решение, при котором софт будет работать, является оптимальным. Т.к. компьютеру поровну, какие инструкции выполнять.

А когда у вашего софта наметятся другие задачи, тогда и обсудим, как на них скажутся глобальные переменные и MainForm.Instance.CurConfig.бла-бла.

Взять, к примеру, человеческий фактор. То что вы тут решили пообсуждать глобальные переменные и MainForm.Instance — уже отвлекает вас от работы. Что плохо для вашей работы, но не для софта, который работает и уже выполняет свою задачу.
Re: Инкаспуляция, наследование, полиморфизм
От: Baudolino  
Дата: 11.04.13 08:24
Оценка: +2 -1 :)))
MS>Все это такое фуфло, я вас скажу эти ваши философии. Так же как и много других умных слов про программирование.
Кто-то, судя по всему, неправильно выбрал профессию.
Re[2]: Инкаспуляция, наследование, полиморфизм
От: Voblin Россия http://maslyaew.narod.ru/
Дата: 11.04.13 10:03
Оценка:
Здравствуйте, Географ, Вы писали:

MS>>Все это такое фуфло, я вас скажу эти ваши философии. [...]

Г>Часто — да. Но для разработки большой и сложной системы с длительным циклом переделки и доработки в будущем эти штуки весьма полезны.

Согласен, что "да" — часто. И особенно часто в случае разработки большой и сложной системы с длительным циклом переделки и доработки.

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

Гораздо лучше, когда единственный вариант наследования — это непосредственное наследование от заранее жёстко определённого набора базовых классов. Я сам сейчас работаю с такой средой разработки и всё, уверяю вас, очень шоколадненько. И постоянно дополняющиеся/меняющиеся/уточняющиеся функциональные требования не убивают.
Re[2]: Инкаспуляция, наследование, полиморфизм
От: icWasya  
Дата: 11.04.13 10:19
Оценка: -1
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, McSeem2, Вы писали:


MS>>Все это такое фуфло, я вас скажу эти ваши философии. .... И пофигу на весь этот ваш умный computer science,... или наоборот.


A>понимаешь, в science за каждой вещью стоит куча статей объясняющих почему оно нужно, в т.ч. с примерами.


Ну философия такая наука
Когда встречаются три философа — они выдвигают пять ортогональных теорий ,
причём каждый может с аргументами как доказать , так и опровергнуть любую из них
Re[3]: Инкаспуляция, наследование, полиморфизм
От: samius Япония http://sams-tricks.blogspot.com
Дата: 11.04.13 10:29
Оценка: 5 (1) +4
Здравствуйте, Voblin, Вы писали:

V>Полиморфизьм основывается на наследовании.

Это ошибочное утверждение
Re[4]: Инкаспуляция, наследование, полиморфизм
От: fin_81  
Дата: 11.04.13 10:36
Оценка:
Здравствуйте, samius, Вы писали:

V>>Полиморфизьм основывается на наследовании.

S>Это ошибочное утверждение
В каком мейнстримном языке программирования?
Re[5]: Инкаспуляция, наследование, полиморфизм
От: Abyx Россия  
Дата: 11.04.13 10:43
Оценка: +4
Здравствуйте, fin_81, Вы писали:

_>Здравствуйте, samius, Вы писали:


V>>>Полиморфизьм основывается на наследовании.

S>>Это ошибочное утверждение
_>В каком мейнстримном языке программирования?

в любом. полиморфизм к наследованию никакого отношения не имеет.
он может быть реализован через наследование и виртуальные функции, но это только динамический полиморфизм и только один из способов его реализации.
In Zen We Trust
Re[5]: Инкаспуляция, наследование, полиморфизм
От: samius Япония http://sams-tricks.blogspot.com
Дата: 11.04.13 10:46
Оценка:
Здравствуйте, fin_81, Вы писали:

_>Здравствуйте, samius, Вы писали:


V>>>Полиморфизьм основывается на наследовании.

S>>Это ошибочное утверждение
_>В каком мейнстримном языке программирования?
Затрудняюсь сказать, в каком это действительно так. Но речь не о конкретном языке, а о значении термина в CS.
Re[6]: Инкаспуляция, наследование, полиморфизм
От: fin_81  
Дата: 11.04.13 10:52
Оценка:
Здравствуйте, Abyx, Вы писали:

V>>>>Полиморфизьм основывается на наследовании.

S>>>Это ошибочное утверждение
_>>В каком мейнстримном языке программирования?

A>в любом. полиморфизм к наследованию никакого отношения не имеет.

A>он может быть реализован через наследование и виртуальные функции, но это только динамический полиморфизм и только один из способов его реализации.

А другие способы реализации полиморфизма являются частью языков программирования?

Чувствию разговор перейдет в плоскость ООП vs ЯП.
Re[6]: Инкаспуляция, наследование, полиморфизм
От: fin_81  
Дата: 11.04.13 10:58
Оценка: :)
Здравствуйте, samius, Вы писали:

V>>>>Полиморфизьм основывается на наследовании.

S>>>Это ошибочное утверждение
_>>В каком мейнстримном языке программирования?
S>Затрудняюсь сказать, в каком это действительно так. Но речь не о конкретном языке, а о значении термина в CS.

Жду непротиворечивого определения полиморфизма без использования способов реализации в конкретных языках.
Первоначально в смолтолке это было что-то похожее на обработку сообщений.
Re[7]: Инкаспуляция, наследование, полиморфизм
От: samius Япония http://sams-tricks.blogspot.com
Дата: 11.04.13 11:10
Оценка:
Здравствуйте, fin_81, Вы писали:

_>Здравствуйте, samius, Вы писали:


S>>Затрудняюсь сказать, в каком это действительно так. Но речь не о конкретном языке, а о значении термина в CS.


_>Жду непротиворечивого определения полиморфизма без использования способов реализации в конкретных языках.

_>Первоначально в смолтолке это было что-то похожее на обработку сообщений.

Мне вполне ничего определение из википедии.

In computer science, polymorphism is a programming language feature that allows values of different data types to be handled using a uniform interface.

Re[7]: Инкаспуляция, наследование, полиморфизм
От: samius Япония http://sams-tricks.blogspot.com
Дата: 11.04.13 11:10
Оценка:
Здравствуйте, fin_81, Вы писали:

_>Первоначально в смолтолке это было что-то похожее на обработку сообщений.

А что, до смолтока полиморфизма не было?
Re[8]: Инкаспуляция, наследование, полиморфизм
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 11.04.13 11:27
Оценка:
Здравствуйте, samius, Вы писали:

S>А что, до смолтока полиморфизма не было?


До смолтока почти ничего не было.
"Appeared in 1972 (development began in 1969)"
Re[9]: Инкаспуляция, наследование, полиморфизм
От: LaptevVV Россия  
Дата: 11.04.13 11:33
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Здравствуйте, samius, Вы писали:


S>>А что, до смолтока полиморфизма не было?


DM>До смолтока почти ничего не было.

DM>"Appeared in 1972 (development began in 1969)"
Ну да! Симула-67 уже была.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[8]: Инкаспуляция, наследование, полиморфизм
От: fin_81  
Дата: 11.04.13 11:33
Оценка: :)
Здравствуйте, samius, Вы писали:

S>Мне вполне ничего определение из википедии.

S>

S>In computer science, polymorphism is a programming language feature that allows values of different data types to be handled using a uniform interface.


Что-то слишком много предупреждений в начале статьи. Значения, типы, интерфейсы — что за звери, и чем они отличаются друг от друга.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.