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.
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
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.
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..
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.
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.
1. "Codice sorgente". Wikipedia, Wikimedia Foundation, 17 maggio 2018. Disponibile qui
2. "Codice oggetto". Wikipedia, Wikimedia Foundation, 14 maggio 2018. Disponibile qui
1.'CodeCmmt002'By Dreftymac (CCBY 2.5) attraverso Commons Wikimedia