Peamised erinevused: tõlgid tõlgivad kõrgetasemelisi programmeerimisjuhiseid vahe- koodideks ja täidavad seejärel saadud koodid. Koostajad tõlgivad kõrgetasemelisi programmeerimiskeele koode objektikoodideks. Tõlgid täidavad koodijooneliini, samas kui kompilaatorid täidavad saadud faile.
Tõlkija ja tõlkija mängivad väga olulist rolli arvutikeelte programmide teostamisel. Paljud inimesed kipuvad arvama, et mõlemad on üksteisega sarnased. Siiski erinevad need mõlemad erinevates kontekstides.
Suurim erinevus nende kahe vahel on see, et kompilaator vahetab otse lähtekoodi masina keelde, samas kui tõlk toodab keskkoodi ja täidab seejärel koodi, et moodustada masina arusaadav kood. Tõlkijatel ja kompilaatoritel on sama ülesanne, et lähtekoodi tõlkida masina koodisse, kuid need erinevad selle tõlke saavutamiseks. Komplektidel on diagnostilised võimalused ja seega võivad nad kõrgetasemelise programmi koostamisel küsida asjakohaseid veateateid. Tõlgi puhul ei salvestata objekti koodi ja seega ei saa seda uuesti kasutada.
Koostaja koostab enne käivitatava faili loomist objektikoodi. Koostatud programm teostatakse otse objektikoodi abil. Teisalt, tõlk
Kompilaator | Tõlk | |
Määratlus | Kõrgetasemelised juhised masina keelde | Kõrgetasemeline juhendamine vahe-koodiks |
Täitmine | Kogu programm korraga | Rida rea järgi |
Kiirus | Kiire | Aeglane |
Maksumus | Odav | Vähem |
Mälu kasutamine | Veel | Tavaliselt on suur summa raha |
Volitamata muutmine | Raske (programmi voolu mõistmine on keeruline ülesanne) | Lihtne (programmi voolu mõistmiseks on lihtne ülesanne) |
Silumine | Raske | Lihtne |
Tulemusliku koodi täitmine | Arvutiriistvara abil | Teine programm |
Näide | C kompilaator | BASIC |
Running Computer | Kõik | Tõlk on paigaldatud |