1. Lähdekoodi :
Lähdekoodi tarkoittaa korkean tason koodia tai assembly-koodia, jonka ihminen/ohjelmoija luo. Lähdekoodi on helppo lukea ja muokata. Ohjelmoija kirjoittaa sen käyttämällä mitä tahansa korkean tason kieltä tai välikieltä, joka on ihmisen luettavissa. Lähdekoodi sisältää kommentteja, jotka ohjelmoija laittaa parempaa ymmärrystä varten.
Lähdekoodi annetaan kielenkääntäjälle, joka muuntaa sen koneymmärrettäväksi koodiksi, jota kutsutaan konekoodiksi tai objektikoodiksi. Tietokone ei voi ymmärtää suoraa lähdekoodia, mutta tietokone ymmärtää konekoodin ja suorittaa sen. Sitä pidetään tietokoneen peruskomponenttina. Yksinkertaistaen voidaan sanoa, että lähdekoodi on joukko ohjeita/käskyjä ja lauseita, jotka ohjelmoija on kirjoittanut käyttämällä tietokoneen ohjelmointikieltä, kuten C, C++, Java, Python, Assembly-kieli jne. Millä tahansa ohjelmointikielellä kirjoitettuja lauseita kutsutaan siis lähdekoodiksi.
2. Oliokoodi :
Objektikoodilla tarkoitetaan matalan tason koodia, jota kone ymmärtää. Oliokoodi luodaan lähdekoodista sen jälkeen, kun se on käynyt läpi kääntäjän tai muun kääntäjän. Se on suoritettavassa konekoodimuodossa. Oliokoodi sisältää konekielisten ohjeiden sarjan, jonka keskusyksikkö ymmärtää ja suorittaa.
Objektitiedosto sisältää oliokoodin. Sitä pidetään yhtenä konekoodin lisänä. Esimerkkejä objektitiedostoista ovat Common Object File Format (COFF), COM-tiedostot ja ”.exe”-tiedostot. Se on kääntäjän tai muun kääntäjän tuotos. Voimme ymmärtää lähdekoodia, mutta emme voi ymmärtää objektikoodia, koska se ei ole selkokielistä tekstiä kuten lähdekoodi, vaan se on binäärimuodossa.
Alla oleva kuva havainnollistaa lähdekoodia ja objektikoodia :
Lähdekoodin ja objektikoodin ero :
S.No. | LÄHDEKOODI | OBJEKTIKOODI | ||
---|---|---|---|---|
Lähdekoodin luo ihminen tai ohjelmoija. | Objektikoodin luo kääntäjä tai muu kääntäjä. | |||
Lähdekoodi on korkean tason koodi. | Objektikoodi on matalan tason koodia. | |||
Lähdekoodi kirjoitetaan tavallisella tekstillä käyttäen jotakin korkean tason ohjelmointikieltä. | Objektikoodi on lähdekoodin käännettyä koodia. Se on binäärimuodossa. | |||
Lähdekoodi on ihmisen ymmärrettävissä. | Objektikoodi ei ole ihmisen ymmärrettävissä. | |||
Lähdekoodi ei ole suoraan koneen ymmärrettävissä. | Objektikoodi on koneen ymmärrettävissä ja suoritettavissa. | |||
Se on kirjoitettu korkean tason kielellä kuten C, C++, Java, Python jne. tai assembler-kielellä. | Se kirjoitetaan konekielelle kääntäjän tai assemblerin tai muun kääntäjän avulla. | |||
Se on helposti muokattavissa. | Se ei ole muokattavissa. | |||
Se sisältää kommentteja ohjelmoijan paremman ymmärtämisen vuoksi. | Se ei sisällä kommentteja koneen ymmärtämisen vuoksi. | |||
Se sisältää vähemmän lausekkeita kuin objektikoodi. | Se sisältää enemmän lausekkeita kuin lähdekoodi. | |||
Se on vähemmän lähellä. konetta. | Se on lähempänä konetta. | |||
Lähdekoodin suorituskyky on huonompi kuin objektikoodin, koska se on vähemmän lähellä konetta. | Objektikoodin suorituskyky on suurempi kuin lähdekoodin, koska se on lähempänä konetta. | |||
Lähdekoodi on syötteenä kääntäjälle tai muulle kääntäjälle. | Objektikoodi on kääntäjän tai muun kääntäjän tuotos. | |||
Lähdekoodi ei ole järjestelmäkohtaista. | Objektikoodi on järjestelmäkohtaista. | |||
Sitä voidaan muuttaa ajan mittaan. | Lähdekoodi on käännettävä tai käännettävä jollakin muulla kääntäjällä, jotta saataisiin muokattua objektikoodia. |