Differenza tra programma sorgente e programma oggetto

Il differenza fondamentale è tra questo programma sorgente e programma oggetto Il programma sorgente è un programma leggibile dall'uomo scritto da un programmatore mentre il programma oggetto è un programma eseguibile della macchina creato compilando un programma sorgente.

I programmi di origine possono essere compilati o interpretati per l'esecuzione. I decompilatori aiutano a convertire i programmi oggetto nei suoi programmi sorgente originali. È importante notare che i termini del programma sorgente e del programma oggetto sono usati come termini relativi. Se si prende un programma di trasformazione del programma (come un compilatore), ciò che entra è un programma sorgente e ciò che viene fuori è un programma oggetto. Pertanto, un programma oggetto prodotto da uno strumento può diventare un file sorgente per un altro strumento.

CONTENUTO

1. Panoramica e differenza chiave
2. Cos'è il programma sorgente
3. Cos'è il programma oggetti
4. Confronto affiancato - Programma sorgente vs Programma oggetto in forma tabulare
5. Sommario

Cos'è il programma sorgente?

Il programmatore scrive il programma sorgente usando un linguaggio di livello superiore. Pertanto, è facilmente leggibile dagli umani. I programmi sorgente 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. In alternativa, è di usare un interprete. Esegue un programma sorgente riga per riga senza pre-compilazione.

Figura 01: un programma sorgente

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

Cos'è il programma oggetti?

Il programma oggetto è in genere un file eseguibile della macchina, che è il risultato della compilazione di un file sorgente mediante un compilatore. Oltre alle istruzioni della macchina, possono includere informazioni di debug, simboli, informazioni sullo stack, trasferimento e informazioni di profilazione. 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 a un eseguibile (ad esempio, linguaggio C). Come accennato sopra, i file .exe e i file bytecode sono file oggetto prodotti quando si usano 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 sono distribuite solo con l'oggetto o i file eseguibili. Tramite la decompilazione è possibile convertire l'oggetto oi file eseguibili nei suoi file sorgente originali. Ad esempio, gli strumenti di decompilazione possono decompilare i file java.class (bytecode) nei suoi file .java originali..

Qual è la differenza tra il programma sorgente e il programma oggetto?

Il programma sorgente è un programma leggibile dall'uomo scritto da un programmatore. È scritto in linguaggi di livello superiore come Java o C. Pertanto, un programma sorgente è leggibile dall'uomo. Non è comprensibile per la macchina.

D'altra parte, il programma Object è un programma eseguibile della macchina creato dopo aver compilato un programma sorgente. Contiene linguaggi di livello inferiore come assembly o codice macchina. Pertanto, il programma dell'oggetto non è leggibile dall'essere umano. È comprensibile dalla macchina.

Riepilogo - Programma sorgente vs Programma oggetto

La differenza tra il programma sorgente e il programma oggetto è che il programma sorgente è un programma leggibile da un programmatore mentre il programma oggetto è un programma eseguibile creato dalla compilazione di un programma sorgente.

Riferimento:

1. "Codice sorgente". Wikipedia, Wikimedia Foundation, 17 maggio 2018. Disponibile qui

2. "Codice oggetto". Wikipedia, Wikimedia Foundation, 14 maggio 2018. Disponibile qui 

Cortesia dell'immagine:

1.'CodeCmmt002'By Dreftymac (CCBY 2.5) attraverso Commons Wikimedia