Diferența cheie dintre programul sursă și programul obiect este că programul sursă este un program care poate fi citit de om scris de un programator, în timp ce programul obiect este un program executabil de mașină creat prin compilarea unui program sursă.
Programele sursă pot fi fie compilate, fie interpretate pentru execuție. Decompilers ajută la convertirea programelor obiect înapoi în programele sale sursă originale. Este important de menționat că termenii program sursă și program obiect sunt folosiți ca termeni relativi. Dacă luați un program de transformare a programului (cum ar fi un compilator), ceea ce intră este un program sursă și ceea ce iese este un program obiect. Prin urmare, un program obiect produs de un instrument poate deveni un fișier sursă pentru un alt instrument.
Ce este programul sursă?
Programatorul scrie programul sursă folosind un limbaj de nivel superior. Prin urmare, este ușor de citit de către oameni. Programele sursă conțin de obicei nume de variabile semnificative și comentarii utile pentru a le face mai ușor de citit. O mașină nu poate executa direct un program sursă. Un compilator ajută la transformarea programului sursă în cod executabil pentru a fi executat de mașină. Alternativ, este să folosiți un interpret. Execută un program sursă linie cu linie fără pre-compilare.
Figura 01: Un program sursă
Visual Basic este un exemplu de limbaj compilat, în timp ce Java este un exemplu de limbaj interpretat. Fișierele sursă Visual Basic (fișiere.vb) sunt compilate în cod.exe, în timp ce fișierele sursă Java (fișiere.java) sunt mai întâi compilate (folosind comanda javac) în bytecode (un cod obiect conținut în fișierele.class) și apoi interpretate folosind interpret java (folosind comanda java). Când aplicațiile software sunt distribuite, de obicei, acestea nu vor include fișiere sursă. Cu toate acestea, dacă aplicația este open source, sursa este, de asemenea, distribuită, iar utilizatorul poate vedea și modifica și codul sursă.
Ce este programul obiect?
Programul obiect este de obicei un fișier executabil de mașină, care este rezultatul compilării unui fișier sursă folosind un compilator. În afară de instrucțiunile mașinii, acestea pot include informații de depanare, simboluri, informații despre stivă, relocare și informații de profilare. Deoarece conțin instrucțiuni în codul mașinii, ele nu sunt ușor de citit de oameni. Dar uneori, programele obiect se referă la un obiect intermediar între fișierele sursă și fișierele executabile.
Uneltele cunoscute sub numele de linkeri ajută la conectarea unui set de obiecte într-un executabil (de exemplu, limbajul C). După cum sa menționat mai sus, fișierele.exe și fișierele bytecode sunt fișiere obiect produse atunci când utilizați Visual Basic și, respectiv, Java. Fișierele.exe se execută direct pe platforma Windows, în timp ce fișierele bytecode au nevoie de un interpret pentru execuție.
Majoritatea aplicațiilor software sunt distribuite numai cu obiectul sau fișierele executabile. Este posibil să convertiți obiectul sau fișierele executabile înapoi în fișierele sursă originale prin decompilare. De exemplu, instrumentele de decompilare pot decompila fișierele java.class (bytecode) în fișierele sale originale.java.
Care este diferența dintre programul sursă și programul obiect?
Programul sursă este un program care poate fi citit de om, scris de un programator. Este scris în limbaje de nivel superior, cum ar fi Java sau C. Prin urmare, un program sursă poate fi citit de om. Nu este de înțeles de către aparat.
Pe de altă parte, programul Object este un program executabil de mașină creat după compilarea unui program sursă. Conține limbaje de nivel inferior, cum ar fi codul de asamblare sau de mașină. Prin urmare, programul obiect nu este citit de om. Este de înțeles de către aparat.
Rezumat – Programul sursă vs Programul obiect
Diferența dintre Programul sursă și Programul obiect este că programul sursă este un program care poate fi citit de om scris de un programator, în timp ce programul obiect este un program executabil de mașină creat prin compilarea unui program sursă.