Allikaprogrammi ja objektprogrammi erinevus

võtme erinevus lähteprogrammi ja objektprogrammi vahel on see Lähteprogramm on programmeerija kirjutatud inimloetav programm, objektiprogramm aga lähtekoodiprogrammi koostamisel loodud masinkäivitatav programm.

Lähteprogramme saab täitmiseks kompileerida või tõlgendada. Dekompileerijad aitavad objektide programme teisendada tagasi nende algseteks lähteprogrammideks. Oluline on märkida, et termineid lähteprogramm ja objektprogrammi kasutatakse suhteliste terminitena. Kui võtate programmi teisendusprogrammi (näiteks kompilaatori), siis see, mis sisse tuleb, on lähteprogramm ja mis välja tuleb, on objektprogramm. Seetõttu võib ühe tööriista toodetav objektiprogramm saada teise tööriista lähtefailiks.

SISU

1. Ülevaade ja peamised erinevused
2. Mis on lähteprogramm?
3. Mis on objektprogramm?
4. Kõrvuti võrdlus - lähteprogramm vs objektprogramm tabelina
5. Kokkuvõte

Mis on lähteprogramm??

Programmeerija kirjutab lähteprogrammi kõrgema taseme keelt kasutades. Seetõttu on see inimesele kergesti loetav. Lähteprogrammid sisaldavad tavaliselt tähenduslikke muutujate nimesid ja kasulikke kommentaare, et muuta see loetavamaks. Masin ei saa lähteprogrammi otse käivitada. Kompilaator aitab muuta lähteprogrammi käivitatavaks koodiks, mida masin täidab. Teine võimalus on kasutada tõlki. See käivitab lähteprogrammi ridahaaval ilma eelkompileerimiseta.

Joonis 01: lähteprogramm

Visual Basic on näide kompileeritud keelest, Java on aga tõlgendatud keele näide. Visual Basicu lähtefailid (.vb-failid) kompileeritakse .exe-koodiks, Java-failid (.java-failid) aga kõigepealt (javaci käsu abil) baitkoodiks (.class-failides sisalduv objektikood) ja tõlgendatakse seejärel java tõlk (java käsu abil). Tarkvararakenduste levitamisel ei sisalda need tavaliselt lähtefaile. Kui rakendus on avatud lähtekoodiga, levitatakse ka allikat ning kasutaja saab ka lähtekoodi vaadata ja seda muuta.

Mis on objektprogramm??

Objektiprogramm on tavaliselt masinfail, mis on lähtefaili kompileerimise tulemus kompilaatori abil. Lisaks masinajuhenditele võivad need sisaldada silumisteavet, sümboleid, teavet pinu kohta, ümberpaigutamist ja profiiliteavet. Kuna need sisaldavad juhiseid masinkoodis, pole need inimestel hõlpsasti loetavad. Kuid mõnikord viitavad objektiprogrammid vaheobjektile lähte- ja käivitatavate failide vahel.

Linkeritena tuntud tööriistad aitab linkida objektide komplekti käivitatavale (nt C-keel). Nagu eespool mainitud .exe-failid ja baidikoodifailid on objektfailid, mis on toodetud vastavalt Visual Basicu ja Java kasutamisel. .Exe-faile käivitatakse otse Windowsi platvormil, samas kui baidikoodifailid vajavad täitmiseks tõlki.

Enamikku tarkvararakendusi levitatakse ainult koos objekti või käivitatavate failidega. Dekompileerimise teel on võimalik objekt või käivitatavad failid konverteerida tagasi algsesse lähtefaili. Näiteks saavad dekompileeri tööriistad java.class-failid (baitkoodid) algsesse .java-faili dekompileerida.

Mis vahe on lähteprogrammil ja objektprogrammil??

Lähteprogramm on programmeerija kirjutatud inimesele loetav programm. See on kirjutatud kõrgema taseme keeltes, näiteks Java või C. Seetõttu on lähteprogramm inimestele loetav. See pole masina jaoks arusaadav.

Teisest küljest on objektprogramm masina käivitatav programm, mis luuakse pärast lähteprogrammi koostamist. See sisaldab madalama taseme keeli, näiteks koost või masinkood. Seetõttu pole objektprogramm inimesele loetav. See on masina poolt arusaadav.

Kokkuvõte - lähteprogramm vs objektprogramm

Lähteprogrammi ja objektprogrammi erinevus seisneb selles, et lähtekoodiprogramm on programmeerija kirjutatud inimesele loetav programm, samas kui objektprogramm on lähteprogrammi koostamisel loodud masinkäivitatav programm.

Viide:

1. „Lähtekood”. Vikipeedia, Wikimedia Foundation, 17. mai 2018. Saadaval siin

2. “Objekti kood”. Vikipeedia, Wikimedia Foundation, 14. mai 2018. Saadaval siin 

Pilt viisakalt:

1.'CodeCmmt002'By Dreftymac (CCBY 2.5) Commonsi Wikimedia kaudu