Nøkkelforskjellen mellom kildeprogram og objektprogram er at kildeprogram er et menneskelesbart program skrevet av en programmerer mens objektprogram er et maskinkjørbart program opprettet ved å kompilere et kildeprogram.
Kildeprogrammer kan enten kompileres eller tolkes for kjøring. Dekompileringsprogrammer hjelper til med å konvertere objektprogrammer tilbake til de opprinnelige kildeprogrammene. Det er viktig å merke seg at begrepene kildeprogram og objektprogram brukes som relative begreper. Hvis du tar et programtransformasjonsprogram (som en kompilator), er det som går inn et kildeprogram og det som kommer ut er et objektprogram. Derfor kan et objektprogram produsert av ett verktøy bli en kildefil for et annet verktøy.
Hva er kildeprogram?
Programmeren skriver kildeprogrammet ved å bruke språk på høyere nivå. Derfor er den lett lesbar for mennesker. Kildeprogrammer inneholder vanligvis meningsfulle variabelnavn og nyttige kommentarer for å gjøre den mer lesbar. En maskin kan ikke kjøre et kildeprogram direkte. En kompilator hjelper til med å transformere kildeprogram til kjørbar kode for å kjøres av maskinen. Alternativt er å bruke tolk. Den kjører et kildeprogram linje for linje uten forhåndskompilering.
Figur 01: Et kildeprogram
Visual Basic er et eksempel på et kompilert språk, mens Java er et eksempel på et tolket språk. Visual Basic-kildefiler (.vb-filer) kompileres til.exe-kode, mens Java-kildefiler (.java-filer) først kompileres (ved hjelp av javac-kommandoen) til bytekode (en objektkode som finnes i.class-filer) og deretter tolkes ved hjelp av java-tolk (ved hjelp av java-kommando). Når programvareapplikasjoner distribueres, vil de vanligvis ikke inkludere kildefiler. Men hvis applikasjonen er åpen kildekode, distribueres kilden også, og brukeren kan også se og endre kildekoden.
Hva er objektprogram?
Objektprogram er vanligvis en maskinkjørbar fil, som er resultatet av å kompilere en kildefil ved hjelp av en kompilator. Bortsett fra maskininstruksjoner, kan de inkludere feilsøkingsinformasjon, symboler, stabelinformasjon, flytting og profileringsinformasjon. Siden de inneholder instruksjoner i maskinkode, er de ikke lett lesbare for mennesker. Men noen ganger refererer objektprogrammer til et mellomobjekt mellom kilde- og kjørbare filer.
Verktøy kjent som linkere hjelper til med å koble et sett med objekter til en kjørbar fil (f.eks. C-språk). Som nevnt ovenfor er.exe-filer og bytekodefiler objektfiler som produseres ved bruk av henholdsvis Visual Basic og Java..exe-filene kjøres direkte på Windows-plattformen mens bytekodefiler trenger en tolk for kjøring.
De fleste programvareapplikasjoner distribueres kun med objektet eller kjørbare filer. Det er mulig å konvertere objektet eller de kjørbare filene tilbake til de opprinnelige kildefilene ved dekompilering. For eksempel kan dekompileringsverktøyene dekompilere java.class-filer(bytecode) til sine originale.java-filer.
Hva er forskjellen mellom kildeprogram og objektprogram?
Kildeprogram er et lesbart program skrevet av en programmerer. Det er skrevet på språk på høyere nivå som Java eller C. Derfor er et kildeprogram lesbart for mennesker. Det er ikke forståelig av maskinen.
På den annen side er Objektprogram et maskinkjørbart program opprettet etter kompilering av et kildeprogram. Den inneholder språk på lavere nivå som montering eller maskinkode. Derfor er objektprogrammet ikke lesbart av mennesket. Maskinen forstår det.
Sammendrag – Kildeprogram vs objektprogram
Forskjellen mellom kildeprogram og objektprogram er at kildeprogram er et menneskelig lesbart program skrevet av en programmerer mens objektprogram er et maskinkjørbart program laget ved å kompilere et kildeprogram.