Che cos'è un codice gestito?
"Codice gestito" è un termine creato da Microsoft® Coproration. Questo termine si riferisce al codice del programma che richiede l'utilizzo della macchina virtuale Common Language Runtime (CLR) per poter essere utilizzato. Il termine "codice non gestito" viene utilizzato per fare riferimento al codice del programma che non richiede questa macchina virtuale.
Common Language Runtime è stato sviluppato nel tentativo di consentire l'esecuzione di programmi su una varietà di computer e sistemi operativi senza richiedere modifiche al codice del programma. A tale scopo, il codice del programma per computer viene convertito in bytecode della macchina virtuale. Questo bytecode viene quindi interpretato dalla macchina virtuale CLR e convertito in bytecode per il computer specifico su cui è in esecuzione.
Un codice gestito può essere eseguito su qualsiasi computer dotato della macchina virtuale CLR. Questo elevato grado di portabilità offre un vantaggio definitivo rispetto al codice non gestito. Il codice non gestito richiede che i programmatori modifichino il codice del programma per l'uso su macchine diverse. Questo processo non solo può essere lento, ma può anche portare a molti errori dell'applicazione.
Un altro vantaggio di un codice gestito è la sua sicurezza avanzata. La sicurezza di un programma realizzato con un codice non gestito dipende fortemente dall'implementazione effettuata dai programmatori. L'uso della macchina virtuale CLR aiuta a rimuovere gran parte dei problemi di sicurezza dalle spalle dei programmatori. La maggior parte dei problemi di sicurezza che possono sorgere sono direttamente centrati all'interno della macchina virtuale stessa. Questo di per sé aiuta a centralizzare i problemi, rendendo molto più veloce l'implementazione delle patch di sicurezza.
La questione se un determinato insieme di codice sia un codice gestito o un codice non gestito è estremamente importante per i programmatori di computer. Il codice gestito ha un livello più elevato di portabilità, ma questa portabilità richiede l'installazione di Common Language Runtime sul computer di destinazione. Il codice non gestito, d'altra parte, può essere eseguito senza l'aggiunta del CLR.
Ci sono molti vantaggi nell'uso del codice gestito, ma ci sono anche diversi svantaggi. Lo svantaggio principale è il sovraccarico richiesto dall'uso della macchina virtuale CLR. La differenza tra la velocità alla quale viene eseguito il codice gestito e la velocità del codice non gestito è spesso trascurabile, ma in alcuni casi crea una notevole differenza nei tempi di risposta dell'applicazione. Di conseguenza, il codice non gestito svolge un ruolo cruciale nella maggior parte delle applicazioni che richiedono un alto grado di velocità rispetto alla portabilità.