Linguaggio compilato: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Riga 1:
Per '''linguaggio compilato''' si intende un [[linguaggio di programmazione]] che prevede la traduzione ''una tantum'' del [[codice sorgente]], in genere un [[file]] di puro testo, predisposto dal programmatore in [[linguaggio macchina]]; la traduzione viene eseguita da un programma detto [[compilatore]]. Si distingue dal [[linguaggio interpretato]], che invece è scritto in puro testo e viene tradotto, ad ogni esecuzione del codice, da un programma detto [[interprete (informatica)|interprete]].
 
Eseguita la traduzione in linguaggio macchina, si ottiene un [[file eseguibile]], che - in ambiente DOS/Windows - in genere è caratterizzato dall'estensione ''.exe'' (un tempo, piccoli programmi eseguibili avevamo l'estensione ''.com'').
 
==Vantaggi dei linguaggi compilati==
*Il file programma compilato è immediatamente eseguito dal [[sistema operativo]]. In fase di lancio e di esecuzione, un programma compilato è quindi più veloce.
*Il file programma compilato è generalmente autonomo. Copiato tale quale in un [[computer]] con sistema operativo identico o almeno compatibile con quello in cui è stata fatta la compilazione, non necessita di altri programmi o files per essere eseguito.
*Il file programma compilato è praticamente immodificabile. Non è possibile modificarlo per errore, ed è molto difficile (anche se un bravo [[hacker]] ci riesce) modificarlo deliberatamente.
*Il file programma compilato è praticamente incomprensibile all'uomo. Questo è molto utile quando il programma, per libera scelta dell'autore, è coperto da [[copyright]]. Un programma compilato può essere copiato illecitamente da chiunque, ma solo pochi riescono a "rubare le idee" che il programma contiene. E'È uno dei motivi per cui in ambiroambito Free Software i programmi compilati vengono ''evitati''.
 
==Svantaggi dei linguaggi compilati==
*Durante la programmazione, ogni modifica va verificata ricompilando il progetto e poi lanciando il file eseguibile ottenuto. In termini di rapidità di ''[[debugging]]'' e di aggiornamento, la differenza con un linguaggio interpretato è notevolissima.
*Non è possibile lanciare il programma eseguibile su un computer con un sistema operativo non compatibile.
*L'utente medio non ha alcuna possibilità di comprendere la logica del programma. Non è quindi in grado di individuare, o di proporre, alcun miglioramento (se non giudicando dai soli risultati dell'esecuzione).
*L'uso di soli programmi compilati mantiene l'utente finale in uno stato di sostanziale ''analfabetismo informatico''.