Linguaggio compilato: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Square87 (discussione | contributi)
m da aiutare - WND
Nessun oggetto della modifica
Riga 1:
Per '''linguaggio compilato''' si intende un [[linguaggio di programmazione]] che prevede la traduzione ''una tantum'' del [[codice]] predisposto dal programmatore in [[linguaggio macchina]]; la traduzione viene eseguita da un programma detto [[compilatore]]. Si distingue dal [[linguaggio interpretato]], che invece viene tradotto, ad ogni esecuzione del codice, da un programma detto [[interprete]].
{{da aiutare|motivo=contiene minime informazioni ([[Aiuto:Wikipedia non è un dizionario|WND]])|data=22:41, 1 dic 2005 (CET)}}
 
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'').
Parte di codice codificata in linguaggio macchina da un programma, detto appunto compilatore.
 
==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 ambiro 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''.
 
==Esecuzione più veloce. Ma serve veramente?==
Al tempo dei primi PC, le [[CPU]] erano straordinariamente deboli e lente. Il vantaggio, in termini di velocità di esecuzione del programma, era assolutamente significativo e critico (minuti invece di secondi).
 
Con i PC attuali in ambiente grafico, la differenza nella velocità di esecuzione che passa fra un linguaggio compilato e un buon linguaggio interpretato rimane proporzionalmente la stessa, ma è praticamente inavvertibile (decimi di secondo invece che centesimi di secondo).
 
Il vero motivo per cui attualmente si utilizzano linguaggi compilati è quello di evitare che l'utente ci metta il naso; non a caso, la qiasi totalità dei programmi commerciali (compreso il [[Freeware]], che non è [[Free software]] sono compilati e distribuiti in formato .exe. Il sorgente (il codice scritto dal programmatore) è gelosamente custodito dall'autore.
 
Parallelamente, molto Free Software viene scritto in linguaggio interpretato, ed in caso contrario viene liberamente distribuito anche il codice sorgente.
 
==Alcuni esempi==
Il [[linguaggio C]] è il migliore esempio di linguaggio compilato, ampiamente utilizzato sia in ambiente [[DOS]]/[[Windows]] che in ambiente [[UNIX]]/[[Linux]]/[Mac]].
 
[[Python]] é uno dei migliori, e più attuali, esempi di linguaggio interpretato; '''altamente''' consigliabile a chi voglia oggi avvicinarsi alla programmazione con un linguaggio su cui è veramente semplice fare i "primi passi", pur consentendo all'utente esperto praticamente qualsiasi cosa.
 
 
==Voci correlate==
[[Linguaggio interpretato]]
[[Linux]]
[[Dos]]
[[Windows]]
[[Sistema operativo]]
[[Python]]
 
[categoria:Linguaggi di programmazione]
[Categoria:informatica]