Меня смущает возможность написания .NET на динамических языках, таких как (Iron) Ruby. В частности, я видел код в IronRuby, в котором использовались дженерики (...foo[String]
), но я не знаю об этой возможности в Ruby, так как она мне кажется бессмысленной в динамических языках.
Итак, когда я пишу .NET-приложение на IronRuby, как оно с безопасностью типов и компиляцией? Я думал, что это так же динамично, как Ruby везде. Я думал, что если синтаксис Ruby в порядке, вся проверка типов будет выполняться во время выполнения.
Кроме того, насколько мне известно, сама .NET ориентирована на тип - есть классы, которые активно используют упомянутые дженерики. Как это обрабатывается?
А как насчет делегатов? В динамических языках у меня могут быть почти спагетти-функции, а иногда и просто (например, взлом пользовательского интерфейса в javascript).
Или мне нужно заботиться даже об общих делегатах?