Методы-расширения и UFCS
От: x-code  
Дата: 08.02.21 08:16
Оценка:
Что вы об этом думаете?
Есть подход в C#, когда в функции (обычно статический метод другого класса) явно добавляют к параметру модификатор this, и после этого эту функцию можно вызывать как метод того объекта, для которого добавили this.
Есть предложение C++ n4474, в котором Саттер и Страуструп объединили свои размышления и пришли к выводу, что хорошо бы разрешать вызывать x.f(y) вместо f(x,y) и наоборот безо всяких модификаторов this. В документе рассмотрены преимущества такого подхода (шаблоны, концепты, интеллисенс).
Вроде бы нечто подобное сделано в D.
А вот если проектировать язык программирования с нуля, то какой подход предпочтительнее?
Какие преимущества и недостатки у явно определенных методов-расширений и унифицированного синтаксиса вызова функций вы видите?
Отредактировано 08.02.2021 8:18 x-code . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.