Programmēšanas valodas parasti ietilpst vienā no diviem valodu veidiem - sastādītajās valodās vai interpretētajās valodās. Tomēr atšķirība nav valodā; tas ir ieviešanā. Nav nepareizi apgalvot, ka abas ir valodas ieviešanas īpašības, bet ne pašas valodas īpašības. Programmēšanas valodas ieviešana nozīmē atšķirības novēršanu no programmētāja augsta līmeņa domāšanas līdz mašīnas nulles vērtībām. Ja tas tiek veikts efektīvi, programmētāji var koncentrēties uz aktuālām problēmām, nevis uz mašīnu detaļām. Tātad programmēšanas valodu var apkopot vai interpretēt, pamatojoties uz ieviešanu.
Abiem programmēšanas valodu veidiem ir savas stiprās puses. Dažās valodās ir nepieciešams, lai viss kods tiktu apkopots, pirms jebkuru kodu var izpildīt. Citas valodas interpretē katru instrukciju koda izpildes laikā. Faktiski sastādītās valodas programmētājs parasti sastāda programmētāja datorā; Kad programmētājs koplieto programmatūru, viņš / viņa dalās apkopotajos 0 un 1, bet ne avota kodā. Tomēr, izmantojot interpretēto valodu, kods tiek saglabāts tajā pašā formātā, kuru ievadījāt, un tas ir jātulko izpildes laikā. Apskatīsim detalizētu salīdzinājumu starp apkopotajām un interpretētajām valodām.
Datori spēj izpildīt tikai mašīnu valodu, kas ir centrālā procesora (CPU) valoda un ir ļoti vienkārša. Jebkuras programmēšanas valodas ieviešanas mērķis ir tulkot avota programmu mašīnu valodā, lai to varētu izpildīt centrālais procesors. Visas valodas ieviešanas tulko avota programmu kādā starpposma attēlojumā pirms starpposma attēlojuma tulkošanas mašīnu valodā. Vistiešāko programmas tulkošanas metodi mašīnu valodā sauc par kompilāciju. Programma, kas rakstīta apkopotā valodā, pirms tās palaišanas ir jāpārvērš citā formātā. Pirms izpildes avota kods ir jāpārveido mašīnlasāmās instrukcijās. Īsāk sakot, valodas, kuru ieviešana parasti ir kompilatori, nevis tulki, tiek sauktas par kompilētajām valodām.
Tulks ir programma, kas uzrakstīta citā valodā un apkopota mašīnlasāmā valodā. Pats tulks ir mašīnvalodas programma, un viņš ir rakstīts, lai lasītu avota programmas no interpretētās valodas un interpretētu tās. Tulkotā valodā, gluži pretēji, pirms programmas palaišanas avota kods netiek apkopots mašīnu valodā. Tas tikai interpretē kodu lidojuma laikā. Tātad, jūs nesaņemat kompilācijas kļūdu priekšrocības vai trūkumus. Tulkotām valodām nepieciešama programmatūras daļa, ko sauc par tulku, kas ņem avota kodu un izpilda vienu instrukciju vienlaikus. Palaižot interpretētu avotu programmu, jūs faktiski vadāt tulku. Tulks ir mašīnvalodas programma, kas izpilda visas jūsu rakstītās programmas interpretētajā valodā.
- Programma, kas rakstīta apkopotā valodā, pirms tās palaišanas ir jāpārvērš citā formātā. Pirms izpildes avota kods ir jāpārveido mašīnlasāmās instrukcijās. Tulkotā valodā, gluži pretēji, pirms programmas palaišanas avota kods netiek apkopots mašīnu valodā. Tas tikai interpretē kodu lidojuma laikā. Tulkotām valodām nepieciešama programmatūras daļa, ko sauc par tulku, kas ņem avota kodu un izpilda vienu instrukciju vienlaikus.
- Izmantojot apkopotās valodas, ir vismaz divi soļi, lai nokļūtu no avota koda līdz izpildei, savukārt ar interpretētajām valodām ir tikai viens - izpilde. Programma, kas uzrakstīta interpretētā valodā, nav apkopota - to darbojas cita programma, kamēr tā darbojas. Apkopotā valodā rakstītā programma iziet procesu, lai mainītu to no cilvēkam lasāmā teksta formāta uz mašīnlasāmu. Programma, ko sauc par kompilatoru, veic šo pāreju.
- Apkopotās programmas darbojas ātrāk nekā interpretētās programmas, bet interpretētās programmas var modificēt, kamēr programma darbojas. Tas padara interpretētās programmas ideālas tiešraides programmatūras rakstīšanai. Darbs ar apkopotajām valodām var būt jauks, jo, sastādot avota kodu, tiek atrastas daudzas kļūdas. Šīs kļūdas, ko sauc par kompilācijas kļūdām, neļauj kodu apkopot. Tieši pretēji, interpretētās valodas netiek apkopotas, tāpēc jūs nesaņemat kompilācijas kļūdu priekšrocības vai trūkumus.
- Interpretētās valodās visas atkļūdošanas notiek palaišanas laikā. Nav nevienas apkopošanas darbības, kuras laikā jūs varētu izdzēst visas koda sintakse kļūdas; tā vietā jums ir jāpalaiž programma, lai atrastu kļūdas tajā. Tā kļūst par problēmu, ja jūs interpretējat programmu, modificējot failus vai veicot izmaiņas pastāvīgajos resursos. Tas apgrūtina dažu kļūdu atrašanu, jo kods nav jāapkopo. Tulkotās valodas rada arī zināmas drošības problēmas tiešsaistes vidē, jo ļaunprātīgu kodu var ievadīt izpildes laikā.
Īsumā gan sastādītajām, gan interpretētajām valodām ir savas stiprās puses. Dažās valodās ir nepieciešams, lai viss kods tiktu apkopots, pirms jebkuru kodu var izpildīt. Citas valodas interpretē katru instrukciju koda izpildes laikā. Galvenā atšķirība starp abām ir tā, ka ir vismaz divas darbības, lai nokļūtu no avota koda līdz izpildei ar apkopotajām valodām. Tomēr ar interpretācijas valodām ir tikai viens solis - izpilde. Apkopotās programmas darbojas ātrāk nekā interpretētās programmas, bet interpretētās programmas var modificēt, kamēr programma darbojas.