title: Código gestionado
text: # Código gestionado
  
  El código gestionado es el código de un programa de ordenador que se ejecuta bajo la gestión de una máquina virtual, a diferencia del código no gestionado, que es ejecutado directamente por la CPU del ordenador. Las ventajas del código gestionado incluyen facilidades para el programador y garantías de seguridad. En concreto el término código gestionado es muy dominante, aunque no exclusivo, en el mundo Microsoft. Los lenguajes más comunes de Microsoft para crear código gestionado son C# y Visual Basic.NET.
  En principio en cualquier lenguaje de programación los programas se pueden compilar en código gestionado o no gestionado. En la práctica, sin embargo, cada lenguaje de programación se compila en un tipo. Por ejemplo, el lenguaje de programación Java casi siempre se compila en código gestionado, aunque hay compiladores de Java que pueden generar código no gestionado (como el compilador GNU de Java).
  Hay muchos ejemplos históricos de código gestionado ejecutándose en una máquina virtual, como el UCSD Pascal que utilizaba p-code. Java popularizó esta aproximación con su Bytecode ejecutado por la Máquina virtual Java. Microsoft utiliza código gestionado en su máquina virtual CLR en el .NET Framework, u otras máquinas virtuales similares.
  Algunos compiladores producen un "pseudocódigo" intermedio con la intención de compilarlo en código máquina y no para ejecutarlo en el interior de una máquina virtual como código gestionado (vea por ejemplo BCPL o ALGOL 68C).