Проект IronPython или IronRuby можно просто скомпилировать в dll или исполняемый файл, и он будет «настоящим» исполняемым файлом во всех отношениях, при условии, что у человека, выполняющего их, должна быть установлена соответствующая среда .Net и установлены зависимости (зависимости могут быть вместо этого присутствует в том же каталоге по умолчанию, но фреймворк должен быть установлен). Интеграция с Visual Studio по-прежнему отсутствует, но такие проекты, как IronPythonStudio , используют бесплатную оболочку VS для хорошего эффекта. Существование DLR как зависимости для c # dynamic в VS 2010 должно означать, что интеграция с VS из групп Iron * становится более легкой целью и более высоким приоритетом.
Результат никоим образом не интерпретируется (CIL вставляется в машинный код во время выполнения или, при желании, через ngen), и некоторые аспекты DLR означают, что некоторые действия откладываются аналогично позднему связыванию, но более сильно и решительно с некоторыми сложные механизмы кэширования, позволяющие сделать это относительно быстрым по сравнению с наивными интерпретаторами.
Многие традиционно интерпретируемые языки сценариев создают свои собственные стратегии компиляции на основе виртуальных машин или используют существующие (такие как JVM, .Net CLR или открытые, такие как LLVM ), поскольку это приводит к значительному увеличению производительности много общих случаев.
В случае с языками Iron * преимущество MS CLR в качестве основы заключается в том, что получающиеся исполняемые файлы «просто работают» в подавляющем большинстве установок наиболее распространенного семейства ОС. В отличие от Java, где JAR-файл не «запускается» путем непосредственного нажатия / или «выполнения» через оболочку во многих операционных системах. Обратная сторона этого заключается в том, что это снижает функциональную совместимость по сравнению, скажем, с решением на основе JVM или LLVM, где поддержка платформы шире, но неизбежно более разнообразна в интеграции с ОС.