Skillnad mellan källprogram och objektprogram

De nyckelskillnad mellan källprogrammet och objektprogrammet är det Källprogrammet är ett läsbart program skrivet av en programmerare medan objektprogrammet är ett maskinkörningsprogram som skapats genom att kompilera ett källprogram.

Källprogram kan antingen sammanställas eller tolkas för utförande. Dekompilatorer hjälper till att konvertera objektprogram till sina ursprungliga källprogram. Det är viktigt att notera att termen källprogram och objektprogram används som relativa termer. Om du tar ett program omvandlingsprogram (som en kompilator), det som går in är ett källprogram och det som kommer ut är ett objektprogram. Därför kan ett objektprogram som produceras av ett verktyg bli en källfil för ett annat verktyg.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är källprogrammet
3. Vad är Objektprogram
4. Jämförelse vid sida vid sida - Källprogram mot Objektprogram i tabellform
5. Sammanfattning

Vad är källprogrammet?

Programmeraren skriver källprogrammet med hjälp av högre språk. Därför är det lätt att läsa av människorna. Källprogram innehåller vanligtvis meningsfulla variabla namn och användbara kommentarer för att göra den mer läsbar. En maskin kan inte direkt utföra ett källprogram. En kompilator hjälper till att omvandla källprogram till exekverbar kod som ska utföras av maskinen. Alternativt är att använda en tolk. Den exekverar en källprogramlinje för rad utan förkompilering.

Figur 01: Ett källprogram

Visual Basic är ett exempel på ett sammanställt språk, medan Java är ett exempel på ett tolkat språk. Visual Basic-källfiler (.vb-filer) kompileras till .exe-kod, medan Java-källfiler (.java-filer) först kompileras (med javac-kommandot) till bytecode (en objektkod som finns i .klassfiler) och tolkas sedan med hjälp av java tolk (med java kommando). När mjukvaruapplikationer distribueras, innehåller de vanligen inte källfiler. Om applikationen är öppen källkod, distribueras källan också och användaren får se och ändra källkoden också.

Vad är Objektprogram?

Objektprogrammet är vanligtvis en maskinkörbar fil, vilket är resultatet av att man sammanställer en källfil med hjälp av en kompilator. Förutom maskininstruktioner kan de innehålla felsökningsinformation, symboler, stapelinformation, omlokalisering och profilinformation. Eftersom de innehåller instruktioner i maskinkod, är de inte lättlästa av människor. Men ibland refererar objektprogram till ett mellanliggande objekt mellan källa och körbara filer.

Verktyg som kallas länkar hjälper till att länka en uppsättning objekt till en körbar (till exempel C-språk). Som nämnts ovan. Exe-filer och bytecode-filer skapas objektfiler när de använder Visual Basic respektive Java. .Exe-filerna körs direkt på Windows-plattformen medan bytecode-filer behöver tolk för exekvering.

De flesta programmen distribueras endast med objektet eller exekverbara filer. Det är möjligt att konvertera objektet eller körbara filer tillbaka till dess ursprungliga källfiler genom dekompilering. Till exempel kan dekompileringsverktygen dekompilera java.class-filer (bytecode) i sina ursprungliga .java-filer.

Vad är skillnaden mellan källprogram och objektprogram?

Källprogrammet är ett läsbart program skrivet av en programmerare. Det är skrivet på högre nivå språk som Java eller C. Därför är ett källprogram mänskligt läsbart. Det är inte förståeligt av maskinen.

Å andra sidan är Object-programmet ett maskinexekverbart program skapat efter att ha sammanställt ett källprogram. Den innehåller språk på lägre nivå, t.ex. monterings- eller maskinkod. Därför kan objektprogrammet inte läsas av människan. Det är förstås av maskinen.

Sammanfattning - Källprogram vs Objektprogram

Skillnaden mellan källprogrammet och objektprogrammet är att källprogrammet är ett läsbart program skrivet av en programmerare medan objektprogrammet är ett maskinprogram som kan skapas genom att skapa ett källprogram.

Referens:

1. "Källkod". Wikipedia, Wikimedia Foundation, 17 maj 2018. Tillgänglig här

2. "Objektkod". Wikipedia, Wikimedia Foundation, 14 maj 2018. Tillgänglig här 

Image Courtesy:

1.'CodeCmmt002'By Dreftymac (CCBY 2,5) via Commons Wikimedia