El código administrado es un código de programa de computadora que requiere y se ejecutará solo bajo la administración de una infraestructura de lenguaje común (CLI); Sistema de ejecución virtual (VES); máquina virtual , por ejemplo .NET Core , CoreFX o .NET Framework ; Common Language Runtime (CLR); o Mono . El término fue acuñado por Microsoft .
El código administrado es el resultado del compilador de código fuente escrito en uno de los más de veinte lenguajes de programación de alto nivel, incluidos C # , J # y Visual Basic .NET .
Terminología
La distinción entre código administrado y no administrado prevalece y solo es relevante cuando se desarrollan aplicaciones que interactúan con implementaciones de CLR. Dado que muchos [ ¿cuál? ] se han trasladado lenguajes de programación más antiguos a CLR, la diferenciación es necesaria para identificar el código administrado, especialmente en una configuración mixta. En este contexto, el código que no depende de CLR se denomina "no administrado".
Se creó una fuente de confusión cuando Microsoft comenzó a conectar .NET Framework con C ++ y la elección de cómo nombrar las extensiones administradas para C ++ . Primero se llamó Managed C ++ y luego se le cambió el nombre a C ++ / CLI . El creador del lenguaje de programación C ++ y miembro del comité de estándares de C ++, Bjarne Stroustrup , incluso comentó sobre este tema: "Sobre la difícil y controvertida cuestión de cómo se llamarán las vinculaciones / extensiones de CLI para C ++, prefiero C ++ / CLI como abreviatura de "Las extensiones CLI para ISO C ++". Mantener C ++ como parte del nombre recuerda a la gente cuál es el lenguaje base y ayudará a mantener C ++ como un subconjunto adecuado de C ++ con las extensiones C ++ / CLI ". [1]
Usos
El compilador de Microsoft Visual C ++ puede producir tanto código administrado, que se ejecuta en CLR, como binarios no administrados, que se ejecutan directamente en Windows. [2]
Los beneficios de usar código administrado incluyen la conveniencia del programador (al aumentar el nivel de abstracción, creando modelos más pequeños) y garantías de seguridad mejoradas, según la plataforma (incluida la implementación de VM). Hay muchos ejemplos históricos de código que se ejecuta en máquinas virtuales, como el lenguaje UCSD Pascal usando p-code , y el sistema operativo Inferno de Bell Labs usando la máquina virtual Dis . Java popularizó este enfoque con su código de bytes ejecutado por la máquina virtual Java .
Google también menciona que Java y Kotlin son código administrado en sus documentos NDK JNI de Android [3] [4]
Referencias
- ↑ Stroustrup, Bjarne (29 de junio de 2009). "Preguntas frecuentes de Bjarne Stroustrup: ¿Qué opinas de C ++ / CLI?" . Consultado el 29 de junio de 2009 .
- ^ Gregory, Kate (28 de abril de 2003). "Administrado, no administrado, nativo: ¿Qué tipo de código es este?" . Consultado el 22 de abril de 2009 .
- ^ "Consejos de JNI | Android NDK" . Desarrolladores de Android . Consultado el 21 de junio de 2020 .
- ^ "Introducción a las actividades nativas de Android y C ++" .