Ну, во-первых, есть много людей, для которых решение, тесно связанное с одной платформой, не является стартовым, либо потому, что они не используют эту платформу, либо потому, что не хотят быть привязанными к ней.,Ваше предположение, что C # / VB - это «то, что вы уже используете для написания серверного кода», безусловно, применимо только к очень небольшой части вашей аудитории.
Тогда есть люди, которые оценили преимущества, которые даетдекларативный подход высокого уровня, основанный на правилах, а не соблазняемый привычным процедурным кодированием низкого уровня.И, конечно, те, кому процедурное кодирование вообще не знакомо.
Согласны, перемещение между объектами и XML может быть проблемой.Для многих людей ответ заключается в том, чтобы не допустить попадания ваших данных вблизи объектов.XSLT (вы предаете свое невежество, называя его XSL) работает лучше всего, когда вы обязуетесь использовать технологии на основе XML для написания всего вашего приложения, при этом C # или Java используются только для сантехники.
Но выбор языков всегда будетбыть делом вкуса.Люди редко принимают объективные обоснованные решения.Мода преобладает;очень часто подход с наименьшим риском для нового проекта заключается в использовании того, что вы знаете лучше всего.