Galvenā atšķirība starp avota programmu un objektu programmu ir tāda, ka avota programma ir cilvēkiem lasāma programma, ko rakstījis programmētājs, savukārt objekta programma ir mašīnas izpildāma programma, kas izveidota, kompilējot avota programmu.
Avota programmas var vai nu kompilēt, vai interpretēt izpildei. Dekompilatori palīdz pārvērst objektu programmas atpakaļ uz sākotnējām avota programmām. Ir svarīgi atzīmēt, ka termini avota programma un objekta programma tiek izmantoti kā relatīvi termini. Ja paņemat programmas pārveidošanas programmu (piemēram, kompilatoru), tas, kas tiek ievadīts, ir avota programma, bet tas, kas iznāk, ir objekta programma. Tāpēc viena rīka radīta objekta programma var kļūt par cita rīka avota failu.
Kas ir avota programma?
Programmētājs raksta avota programmu, izmantojot augstāka līmeņa valodu. Tāpēc tas ir viegli lasāms cilvēkiem. Avota programmās parasti ir ietverti jēgpilni mainīgo nosaukumi un noderīgi komentāri, lai padarītu to lasāmāku. Iekārta nevar tieši izpildīt avota programmu. Kompilators palīdz pārveidot avota programmu izpildāmā kodā, lai to izpildītu mašīna. Alternatīvi ir izmantot tulku. Tā izpilda avota programmu pa rindiņai bez iepriekšējas kompilācijas.
Attēls 01: Avota programma
Visual Basic ir kompilētas valodas piemērs, savukārt Java ir interpretētas valodas piemērs. Visual Basic avota faili (.vb faili) tiek kompilēti.exe kodā, savukārt Java avota faili (.java faili) vispirms tiek kompilēti (izmantojot javac komandu) baitkodā (objekta kods, kas ietverts.class failos) un pēc tam tiek interpretēts, izmantojot java tulks (izmantojot java komandu). Izplatot programmatūras lietojumprogrammas, parasti tajās netiks iekļauti avota faili. Tomēr, ja lietojumprogramma ir atvērtā koda, avots arī tiek izplatīts un lietotājs var redzēt un modificēt arī avota kodu.
Kas ir objektu programma?
Objekta programma parasti ir datorā izpildāms fails, kas ir avota faila kompilēšanas rezultāts, izmantojot kompilatoru. Papildus mašīnas instrukcijām tie var ietvert atkļūdošanas informāciju, simbolus, steku informāciju, pārvietošanas un profilēšanas informāciju. Tā kā tajos ir instrukcijas mašīnkodā, tās nav viegli nolasāmas cilvēkiem. Taču dažreiz objektu programmas norāda uz starpposma objektu starp avota un izpildāmajiem failiem.
Rīki, kas pazīstami kā saitītāji, palīdz saistīt objektu kopu izpildāmā failā (piemēram, C valodā). Kā minēts iepriekš,.exe faili un baitkoda faili ir objektu faili, kas izveidoti, izmantojot attiecīgi Visual Basic un Java..exe faili tiek tieši izpildīti Windows platformā, savukārt baitkoda failiem izpildei nepieciešams tulks.
Lielākā daļa lietojumprogrammu tiek izplatītas tikai ar objektu vai izpildāmajiem failiem. Objektu vai izpildāmos failus ir iespējams konvertēt atpakaļ uz sākotnējiem avota failiem, dekompilējot. Piemēram, dekompilatora rīki var dekompilēt java.class failus (baitu kods) to oriģinālajos.java failos.
Kāda ir atšķirība starp avota programmu un objekta programmu?
Avota programma ir cilvēkiem lasāma programma, ko rakstījis programmētājs. Tā ir rakstīta augstākā līmeņa valodās, piemēram, Java vai C. Tāpēc avota programma ir cilvēkiem lasāma. Mašīnai tas nav saprotams.
No otras puses, objektu programma ir mašīnas izpildāma programma, kas izveidota pēc avota programmas kompilēšanas. Tajā ir zemāka līmeņa valodas, piemēram, montāžas vai mašīnas kods. Tāpēc objekta programma nav lasāma cilvēkam. Tas ir saprotams ar mašīnu.
Kopsavilkums - avota programma pret objektu programmu
Atšķirība starp avota programmu un objektu programmu ir tāda, ka avota programma ir cilvēkiem lasāma programma, ko rakstījis programmētājs, savukārt objekta programma ir mašīnas izpildāma programma, kas izveidota, kompilējot avota programmu.