O que é um código gerenciado?
"Código gerenciado" é um termo criado pelo Microsoft® Coproration. Este termo refere-se ao código do programa que requer o uso da máquina virtual Common Language Runtime (CLR) para ser usada. O termo "código não gerenciado" é usado para se referir ao código do programa que não requer esta máquina virtual.
O Common Language Runtime foi desenvolvido na tentativa de permitir a execução de programas em uma variedade de computadores e sistemas operacionais, sem exigir nenhuma alteração no código do programa. Para fazer isso, o código do programa de computador é convertido no bytecode da máquina virtual. Esse bytecode é então interpretado pela máquina virtual CLR e convertido em bytecode para o computador específico no qual está sendo executado.
Um código gerenciado pode ser executado em qualquer computador equipado com a máquina virtual CLR. Esse alto grau de portabilidade oferece uma vantagem definitiva sobre o código não gerenciado. O código não gerenciado exige que os programadores alterem o código do programa para uso em máquinas diferentes. Esse processo não só pode ser lento, mas também pode levar a muitos erros de aplicativo.
Outra vantagem que um código gerenciado possui é sua segurança aprimorada. A segurança de um programa feito com um código não gerenciado depende muito da implementação que os programadores fizeram. O uso da máquina virtual CLR ajuda a tirar uma grande parte dos problemas de segurança dos ombros dos programadores. A maioria dos problemas de segurança que podem surgir são centralizados diretamente na própria máquina virtual. Isso por si só ajuda a centralizar os problemas, tornando muito mais rápido a implementação de patches de segurança.
A questão de saber se um determinado conjunto de códigos é gerenciado ou não gerenciado é extremamente importante para programadores de computador. O código gerenciado possui um maior grau de portabilidade, mas essa portabilidade requer que o Common Language Runtime seja instalado no computador de destino. O código não gerenciado, por outro lado, pode ser executado sem a adição do CLR.
Há muitas vantagens no uso de código gerenciado, mas também existem várias desvantagens. A principal desvantagem é a sobrecarga que o uso da máquina virtual CLR exige. A diferença entre a velocidade na qual o código gerenciado é executado e a velocidade do código não gerenciado geralmente é insignificante, mas, em alguns casos, cria uma diferença muito perceptível no tempo de resposta do aplicativo. Como resultado, o código não gerenciado desempenha um papel crucial na maioria dos aplicativos que exigem um alto grau de velocidade na portabilidade.