Dit is duidelik dat skryf masjien kode moeilik is vir mense om te doen (is 125 'n byvoegingsopdrag of is dit 126 of dalk 27).
Om dit probleem te kry, staan ​​bekend as samestellingstale. Hierdie tale het meer voor die hand liggende name gebruik vir die opdragte (soos ADD vir byvoeging) en het dus die nodige rekenaarkodes onthou. Vergaderingstale het steeds 'n een-tot-een-verhouding met die besondere verwerker en masjienkode waarmee die rekenaar daardie opdragte omskakel.
Vergaderingstale moet saamgestel of geïnterpreteer word
Baie vroeg was besef dat makliker om tale te skryf nodig was en dat die rekenaar self gebruik kon word om dit te vertaal in die masjienkode instruksies wat die rekenaar eintlik kan verstaan. Daar was twee benaderings wat met hierdie vertaling geneem kon word en albei alternatiewe is gekies (óf die een of die ander sal gebruik word afhangende van die taal wat gebruik word en waar dit uitgevoer word).
'N Saamgestelde taal is een waar die program alreeds geskryf is, voer jy die kode deur 'n program genaamd 'n samesteller wat 'n masjienkode weergawe van die program lewer.
As jy dan die program wil hardloop, bel jy net die masjienkode weergawe. As u veranderinge aan die program maak, moet u dit hercompileer voordat u die gewysigde kode kan toets.
'N Vertolkte taal is een waar die instruksies omgeskakel word van wat jy in masjienkode geskryf het, terwyl die program uitgevoer word.
'N Vertolkte taal kry basies 'n opdrag van die program bron, vat dit na masjienkode, voer daardie masjienkode uit en gryp dan die volgende instruksie uit die bron om die proses te herhaal.
Twee variasies op samestelling en tolking
Een variant gebruik 'n tweefase-proses. Met hierdie variant word die bron van jou program nie direk in die masjienkode saamgestel nie, maar word dit omgeskakel na 'n samestelling-taal wat nog steeds onafhanklik van die betrokke verwerker is. As jy die kode wil bestuur, verwerk dit dan die gekodeerde kode deur 'n tolk wat spesifiek vir die verwerker is, sodat die masjienkode geskik is vir daardie verwerker. Hierdie benadering het baie van die voordele van samestelling terwyl die verwerker onafhanklikheid behou word, aangesien dieselfde saamgestel kode deur baie verskillende verwerkers geïnterpreteer kan word. Java is een taal wat dikwels hierdie variant gebruik.
Die ander variant word 'n Just in Time-samesteller (of JIT) genoem. Met hierdie benadering loop u nie eintlik die samesteller nadat u u kode geskryf het nie. In plaas daarvan gebeur dit outomaties wanneer u die kode hardloop. Die gebruik van 'n net in tyd-samesteller word nie deur die stelling geïnterpreteer nie. Dit word elke keer opgestel wanneer dit genoem word om te hardloop en dan is die saamgestelde weergawe wat dit net geskep het, wat raakloop.
Hierdie benadering maak dit baie lyk soos die kode geïnterpreteer word, behalwe dat in plaas van foute slegs gevind word wanneer die stelling met die fout bereik word, word enige foute wat deur die samesteller opgespoor word, geen van die kode uitgevoer in plaas van al die kode tot op daardie stadium word hardloop. PHP is 'n voorbeeld van 'n taal wat gewoonlik net in tydsamestelling gebruik.