Kluczowa różnica: Tłumacze tłumaczą instrukcje programowania wysokiego poziomu na kody pośrednie, a następnie wykonują powstałe kody. Kompilatory tłumaczą kody języków programowania wysokiego poziomu na kody obiektów. Tłumacze wykonują kod linia po linii, podczas gdy kompilatory wykonują wynikowe pliki.
Interpreter i Compiler odgrywają bardzo ważną rolę w realizacji programów w języku komputerowym. Wiele osób myśli, że oba są do siebie podobne. Oba jednak różnią się w różnych kontekstach.
Największa różnica między nimi polega na tym, że kompilator bezpośrednio zmienia kod źródłowy na język maszynowy, podczas gdy interpreter tworzy kod środkowy, a następnie wykonuje ten kod w celu utworzenia kodu zrozumiałego dla maszyny. Tłumacze ustni i kompilatorzy mają takie samo zadanie, jak tłumaczenie kodu źródłowego na kod maszynowy, ale różnią się sposobem osiągnięcia tego tłumaczenia. Zbierające mają możliwości diagnostyczne, a zatem podczas kompilacji programu wysokiego poziomu mogą wyświetlać odpowiednie komunikaty o błędach. W przypadku tłumacza kod obiektowy nie jest przechowywany i dlatego nie może być ponownie użyty.
Kompilator tworzy kod obiektowy przed utworzeniem pliku wykonywalnego dla tego samego. Skompilowany program jest wykonywany bezpośrednio przy użyciu kodu obiektowego. Z drugiej strony, tłumacza
Kompilator | Interpretator | |
Definicja | Wysoki poziom instrukcji na język maszynowy | Wysoki poziom instrukcji do kodu pośredniego |
Wykonanie | Cały program za jednym razem | Linia po linii |
Prędkość | Szybki | Powolny |
Koszt | Niska cena | Mniej |
Zużycie pamięci | Więcej | Zwykle duża ilość pieniędzy |
Nieautoryzowana modyfikacja | Trudne (Zrozumienie przepływu programu jest złożonym zadaniem) | Łatwy (aby zrozumieć przepływ programu jest prostym zadaniem) |
Debugowanie | Trudny | Łatwy |
Wykonanie wynikowego kodu | Według sprzętu komputerowego | Według innego programu |
Przykład | Kompilator C | PODSTAWOWY |
Uruchamianie komputera | Każdy | Interpreter zainstalowany |