Avainero lähdeohjelman ja objektiohjelman välillä on, että lähdeohjelma on ohjelmoijan kirjoittama ihmisen luettavissa oleva ohjelma, kun taas objektiohjelma on koneella suoritettava ohjelma, joka on luotu kääntämällä lähdeohjelmaa.
Lähdeohjelmat voidaan joko kääntää tai tulkita suoritettaviksi. Decompilers auttaa muuttamaan objektiohjelmat takaisin alkuperäisiksi lähdeohjelmiinsa. On tärkeää huomata, että termejä lähdeohjelma ja objektiohjelma käytetään suhteellisina termeinä. Jos otat ohjelman muunnosohjelman (kuten kääntäjän), se mikä menee sisään, on lähdeohjelma ja mikä tulee ulos, on objektiohjelma. Siksi yhden työkalun tuottamasta objektiohjelmasta voi tulla toisen työkalun lähdetiedosto.
Mikä on lähdeohjelma?
Ohjelmoija kirjoittaa lähdeohjelman korkeamman tason kielellä. Siksi se on ihmisten helposti luettavissa. Lähdeohjelmat sisältävät yleensä merkityksellisiä muuttujien nimiä ja hyödyllisiä kommentteja, jotta se olisi helpompi lukea. Kone ei voi suorittaa lähdeohjelmaa suoraan. Kääntäjä auttaa muuttamaan lähdeohjelman suoritettavaksi koodiksi, jonka kone suorittaa. Vaihtoehtoisesti voit käyttää tulkkia. Se suorittaa lähdeohjelman rivi riviltä ilman esikääntämistä.
Kuva 01: Lähdeohjelma
Visual Basic on esimerkki käännetystä kielestä, kun taas Java on esimerkki tulkitetusta kielestä. Visual Basic -lähdetiedostot (.vb-tiedostot) käännetään.exe-koodiksi, kun taas Java-lähdetiedostot (.java-tiedostot) käännetään ensin (javac-komentoa käyttämällä) tavukoodiin (.class-tiedostoissa oleva objektikoodi) ja tulkitaan sitten käyttämällä java-tulkki (käyttäen java-komentoa). Kun ohjelmistosovelluksia jaetaan, ne eivät yleensä sisällä lähdetiedostoja. Jos sovellus on kuitenkin avoimen lähdekoodin, myös lähdekoodi jaetaan ja käyttäjä pääsee näkemään ja muokkaamaan myös lähdekoodia.
Mikä on objektiohjelma?
Objektiohjelma on yleensä koneella suoritettava tiedosto, joka on tulos lähdetiedoston kääntämisestä kääntäjällä. Koneohjeiden lisäksi ne voivat sisältää virheenkorjaustietoja, symboleja, pinotietoja, siirto- ja profilointitietoja. Koska ne sisältävät ohjeet konekoodina, ne eivät ole ihmisten helposti luettavissa. Mutta joskus objektiohjelmat viittaavat lähde- ja suoritettavien tiedostojen välissä olevaan objektiin.
Linkeriinä tunnetut työkalut auttavat linkittämään objektijoukon suoritettavaan tiedostoon (esim. C-kieleen). Kuten edellä mainittiin,.exe-tiedostot ja tavukooditiedostot ovat objektitiedostoja, jotka on tuotettu käytettäessä Visual Basicia ja Javaa..exe-tiedostot suoritetaan suoraan Windows-alustalla, kun taas tavukooditiedostot tarvitsevat tulkin suorittamista varten.
Useimmat ohjelmistosovellukset jaetaan vain objektin tai suoritettavien tiedostojen kanssa. Objekti tai suoritettavat tiedostot voidaan muuntaa takaisin alkuperäisiksi lähdetiedostoiksi purkamalla. Esimerkiksi purkutyökalut voivat purkaa java.class-tiedostot(bytecode) alkuperäisiksi.java-tiedostoiksi.
Mitä eroa lähdeohjelmalla ja objektiohjelmalla on?
Lähdeohjelma on ohjelmoijan kirjoittama ihmisen luettavissa oleva ohjelma. Se on kirjoitettu korkeamman tason kielillä, kuten Java tai C. Siksi lähdeohjelma on ihmisen luettavissa. Kone ei ymmärrä sitä.
Toisa alta Object-ohjelma on koneella suoritettava ohjelma, joka on luotu lähdeohjelman kääntämisen jälkeen. Se sisältää alemman tason kieliä, kuten kokoonpano- tai konekoodia. Siksi kohdeohjelma ei ole ihmisen luettavissa. Se on koneella ymmärrettävissä.
Yhteenveto – lähdeohjelma vs objektiohjelma
Lähdeohjelman ja objektiohjelman välinen ero on se, että lähdeohjelma on ohjelmoijan kirjoittama ihmisen luettavissa oleva ohjelma, kun taas objektiohjelma on koneella suoritettava ohjelma, joka on luotu kääntämällä lähdeohjelmaa.