Differenza tra programma sorgente e oggetto in informatica

Differenza tra programma sorgente e oggetto in informatica

In informatica, la differenza fondamentale tra il programma sorgente e il programma oggetto è che il programma sorgente è un programma leggibile dall’uomo scritto da un programmatore mentre il programma oggetto è un programma eseguibile dalla macchina creato compilando un programma sorgente.

Programma sorgente

Il programmatore scrive il programma sorgente utilizzando un linguaggio di livello superiore. Pertanto, è facilmente leggibile dagli umani. I programmi sorgente (in inglese Source Program) di solito contengono nomi di variabili significativi e commenti utili per renderlo più leggibile. Una macchina non può eseguire direttamente un programma sorgente. Un compilatore aiuta a trasformare il programma sorgente in codice eseguibile da eseguire dalla macchina. L’alternativa, è usare un interprete che esegue un programma sorgente riga per riga senza precompilazione.

Visual Basic è un esempio di linguaggio compilato, mentre Java è un esempio di linguaggio interpretato. I file sorgente di Visual Basic (file .vb) vengono compilati in codice .exe, mentre i file sorgente Java (file .java) vengono prima compilati (utilizzando il comando javac) in bytecode (un codice oggetto contenuto nei file .class) e quindi interpretati utilizzando il interprete java (utilizzando il comando java). Quando le applicazioni software vengono distribuite, in genere non includeranno file di origine. Tuttavia, se l’applicazione è open source, anche il codice sorgente viene distribuito e l’utente può vedere e modificare anche il codice sorgente.

Differenza tra programma sorgente e oggetto in informatica

Programma oggetto

Il programma oggetto (in inglese Object Program) è solitamente un file eseguibile della macchina, che è il risultato della compilazione di un file sorgente utilizzando un compilatore. Oltre alle istruzioni della macchina, possono includere informazioni di debug, simboli, informazioni sullo stack, riposizionamento e informazioni sui profili. Poiché contengono istruzioni in codice macchina, non sono facilmente leggibili dagli esseri umani. Ma a volte, i programmi oggetto fanno riferimento a un oggetto intermedio tra i file sorgente e quelli eseguibili.

Strumenti noti come linker aiutano a collegare un insieme di oggetti in un eseguibile (ad esempio il linguaggio C). Per di più, i file .exe e i file bytecode sono file oggetto prodotti quando si utilizzano rispettivamente Visual Basic e Java. I file .exe vengono eseguiti direttamente sulla piattaforma Windows mentre i file bytecode necessitano di un interprete per l’esecuzione.

La maggior parte delle applicazioni software viene distribuita solo con l’oggetto o con i file eseguibili. È possibile riconvertire l’oggetto o i file eseguibili nei file di origine originali mediante decompilazione. Ad esempio, gli strumenti di decompilazione possono decompilare i file java.class (bytecode) nei suoi file .java originali.

Differenza tra programma sorgente e programma oggetto

Il programma sorgente è un programma leggibile dall’uomo scritto da un programmatore, questo è scritto in linguaggi di livello superiore come Java o C. Pertanto, un programma sorgente è leggibile dall’uomo. Non è comprensibile dalla macchina.

D’altra parte, il programma Object è un programma eseguibile della macchina creato dopo la compilazione di un programma sorgente. Contiene linguaggi di livello inferiore come assembly o codice macchina. Pertanto, il programma oggetto non è leggibile dall’essere umano ed è comprensibile dalla macchina.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *