Kaj je objektna koda?

Programska jezika, kot sta C in Java, sta jezika na visoki ravni, ki zahtevata, da se prevede izvorna koda, ki jo vnese programer. Ko prevajalnik obdela kodo, ustvari niz objektne kode, ki jo je mogoče posredovati drugim programom ali izvajati v računalniškem sistemu.

Pri ustvarjanju izvorne kode v objektno usmerjenem jeziku, kot je C++, lahko programer uporabi primerke objektov, da olajša sledenje izvorni kodi. Ko je koda prevedena, bo nastalo objektno kodo človek težko prebral, vendar jo lahko računalnik zelo učinkovito obdela. Ti dve vrsti predmetov sta si precej različni, vendar za vsako uporabo – enega berejo programerji, drugega pa računalniki – služita podobnemu namenu.

Objektna koda lahko zaščiti tudi izvorno kodo določene aplikacije in odstrani zahtevo po vključitvi vira v kupljeni izdelek. En primer objektne kode, ki jo potrošniki plačajo, bi bil Microsoft Office. Objektna koda je zapisana na CD ali DVD in pakirana za prodajo, vendar izvorno kodo, ki se uporablja za prevajanje aplikacij v njihovo delovno stanje, hrani Microsoft in je ne deli s širšo javnostjo. To pomaga zaščititi intelektualno lastnino za Microsoft in tudi odpravlja potrebo, da posameznik kupi programsko opremo, da jo prevede pred namestitvijo.

Prevajalnik je del programske opreme, ki pretvori vneseno izvorno kodo v strojni jezik berljiv objekt, ki je optimiziran za branje z računalnikom. Ločitev izvirne izvorne kode od nameščene kode lahko prinese tudi koristi razvijalcem pri testiranju, saj omogoča, da se izvorna koda nenehno spreminja in prevaja, da je na voljo za poznejše namestitve. Primer tega bi lahko bila primerjava nočne gradnje aplikacije s stabilno zapakirano objektno kodo. Eno je treba prevesti in se spreminja vsako noč, drugo je bilo preizkušeno in je na voljo, ko je večina preponov odpravljena.

Nekatere aplikacije ali celo operacijske sisteme, kot je Linux, lahko uporabniki prevedejo, ko jih prenesejo, ali pa jih prenesejo in namestijo iz vnaprej prevedene objektne kode. Mnoge od teh aplikacij so odprtokodne in razvojne skupnosti, ki jih ustvarjajo in podpirajo, spodbujajo tiste, ki jih uporabljajo, da pomagajo pri spreminjanju njihove izvorne kode.
Po internetu je vedno več odprtokodnih aplikacij in razvijalcev, ki bi spodbujali uporabo nočnih gradenj, vendar je lahko pakirana objektna koda tako odprtokodnih kot plačljivih aplikacij veliko bolj prijazna do uporabnika.