Re[13]: C# 7 - названия и прочее
От: Sinix  
Дата: 12.05.15 12:20
Оценка:
Здравствуйте, agat50, Вы писали:

S>>Это ни в коем случае не наезд, было бы реально интересно увидеть полезный на практике пример.


A>Мне кажется, тут дело не в разделении dsl\макросы\aop.

К сожалению, есть. Из реального опыта: пока кодогенерация живёт отдельно (неважно — dsl это, или обработка размеченных атрибутами типов/сборок) — всё отлично. Как только метапрограммирование пытаются прикрутить на уровень отдельных языковых конструкций или распространить за пределы одной сборки — начинается фигня.

Потому что для языковых конструкций нет изоляции как таковой, они или используются повсеместно, или не должны использоваться вообще. Не, изобрести новую общеупотребительную конструкцию шансы конечно есть, примерно как придумать полезный extension-метод для object. Одна проблема: затраты/выигрыщ по сравнению с метапрограммированием на атрибутах выглядят совсем уж непристойно


A>Нужна возможность запускать собственный код в compile time с возможностью доступа к AST и его изменения. Только для шарпа — IL тут не при чем.

Вот тут +100500.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.