Re[18]: Как мало людей понимает ООП...
От: vdimas Россия  
Дата: 08.08.12 08:42
Оценка: :)
Здравствуйте, samius, Вы писали:

S>Я бы объяснил это проще, тем что ООП натягивали на процедурные языки во времена когда было популярно экономить на вызовах, куда уж говорить о создании объекта на каждый вызов.


Объект мог быть создан на стеке и передан по ссылке...


S>Отчасти поэтому мы и имеем кучу работы с сингатурами,


Ну так сигнатуру аргументов и возвращаемого значения можно рассматривать как некий автообъявляемый тип-тупл. Собсно, в С++ сигнатура ф-ии/метода и есть полноценный тип, в отличие от дотнета.


S>сложными правилами совместимости


ИМХО, никаких сложностей: ковариантность и контрвариантность зависит от направления аргумента в сигнатуре in/out, т.е. возвращаемое значение ничем от out аргумента в этом плане не отличается. Сложно запутаться.


S>и прочим, вплоть до несовместимости Func/Action в C#.


Да, в дотнете делегаты не абстрактные типы, а вполне конкретные. За это их пинали с самого начала. Даже напиши рядом такой же Action2 через copy&paste и он будет несовместим с исходным Action.


S>В ФП с более накладным применением аргументов все как-то намного проще.


Тебе проще из-за абстрактности функциональных типов + обобщенного программирования. Это фишка конкретного языка, а не ФП как такового.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.