Ključna razlika između izvornog programa i objektnog programa je u tome što je izvorni program čovjeku čitljiv program koji je napisao programer, dok je objektni program strojno izvršni program stvoren kompajliranjem izvornog programa.
Izvorni programi mogu se ili kompilirati ili interpretirati za izvršenje. Decompilers pomaže pretvoriti objektne programe natrag u izvorne izvorne programe. Važno je napomenuti da se pojmovi izvorni program i objektni program koriste kao relativni pojmovi. Ako uzmete program za transformaciju programa (poput kompilatora), ono što ulazi je izvorni program, a ono što izlazi je objektni program. Stoga objektni program proizveden od jednog alata može postati izvorna datoteka za drugi alat.
Što je izvorni program?
Programer piše izvorni program koristeći jezik više razine. Stoga je ljudima lako čitljiv. Izvorni programi obično sadrže smislena imena varijabli i korisne komentare kako bi bili čitljiviji. Stroj ne može izravno izvršiti izvorni program. Prevodilac pomaže transformirati izvorni program u izvršni kod koji će izvršiti stroj. Alternativno je koristiti prevoditelja. Izvršava izvorni program redak po redak bez predkompilacije.
Slika 01: Izvorni program
Visual Basic je primjer prevedenog jezika, dok je Java primjer interpretiranog jezika. Visual Basic izvorne datoteke (.vb datoteke) kompajliraju se u.exe kod, dok se Java izvorne datoteke (.java datoteke) najprije prevode (koristeći naredbu javac) u bajt kod (objektni kod sadržan u.class datotekama), a zatim se interpretiraju pomoću java interpreter (koristeći java naredbu). Kada se softverske aplikacije distribuiraju, obično neće uključivati izvorne datoteke. Međutim, ako je aplikacija otvorenog koda, izvorni kod se također distribuira i korisnik također može vidjeti i mijenjati izvorni kod.
Što je objektni program?
Objektni program je obično strojno izvršna datoteka, koja je rezultat kompajliranja izvorne datoteke pomoću kompajlera. Osim strojnih uputa, mogu uključivati informacije o otklanjanju pogrešaka, simbole, informacije o hrpu, premještanje i informacije o profiliranju. Budući da sadrže upute u strojnom kodu, ljudi ih ne mogu lako pročitati. Ali ponekad se objektni programi odnose na posredni objekt između izvornih i izvršnih datoteka.
Alati poznati kao povezivači pomažu u povezivanju skupa objekata u izvršnu datoteku (npr. C jezik). Kao što je gore spomenuto,.exe datoteke i datoteke bajt koda su objektne datoteke koje se proizvode korištenjem Visual Basica odnosno Jave. Datoteke.exe izravno se izvršavaju na Windows platformi dok datoteke bajt-koda trebaju tumač za izvršenje.
Većina softverskih aplikacija distribuira se samo s objektnim ili izvršnim datotekama. Moguće je pretvoriti objekt ili izvršne datoteke natrag u izvorne izvorne datoteke dekompilacijom. Na primjer, alati za dekompiliranje mogu dekompilirati java.class datoteke (bytecode) u izvorne.java datoteke.
Koja je razlika između izvornog i objektnog programa?
Izvorni program je čovjeku čitljiv program koji je napisao programer. Napisan je na jezicima više razine kao što su Java ili C. Stoga je izvorni program čitljiv ljudima. Stroj to ne razumije.
S druge strane, Object program je strojno izvršni program kreiran nakon prevođenja izvornog programa. Sadrži jezike niže razine kao što su asemblerski ili strojni kod. Stoga objektni program nije čitljiv čovjeku. To je razumljivo stroju.
Sažetak – Izvorni program nasuprot objektnom programu
Razlika između izvornog programa i objektnog programa je u tome što je izvorni program čovjeku čitljiv program koji je napisao programer, dok je objektni program strojno izvršni program stvoren kompajliranjem izvornog programa.