Ключова разлика: Преводачите превеждат инструкциите за програмиране на високо ниво в междинни кодове и след това изпълняват получените кодове. Компилаторите превеждат кодовете за програмиране на високо ниво в обектни кодове. Преводачите изпълняват код по ред, докато компилаторите изпълняват получените файлове.
Интерпретаторът и компилаторът играят много важна роля в изпълнението на програми на компютърен език. Много хора са склонни да мислят, че и двете са подобни. Те обаче се различават в различни контексти.
Най-голямата разлика между двете е, че компилаторът директно променя изходния код на машинния език, докато интерпретаторът създава среден код и след това изпълнява този код, за да образува разбираем за машината код. Преводачите и компилаторите имат една и съща задача да преведат изходния код в машинния код, но те се различават по начините за постигане на този превод. Съвместимите устройства притежават възможности за диагностика и по този начин, при съставянето на програма на високо ниво, те могат да подсказват съответни съобщения за грешки. В случай на интерпретатор, обектният код не се съхранява и по този начин не може да се използва повторно.
Компилаторът създава обектен код, преди да създаде изпълним файл за същото. Компилираната програма се изпълнява директно с обектен код. От друга страна, преводач
съставител | преводач | |
дефиниция | Инструкция за високо ниво на машинен език | Инструкция на високо ниво в междинен код |
Екзекуция | Цяла програма наведнъж | Линия по ред |
скорост | Бърз | Бавен |
цена | Ниска цена | По-малко |
Използване на памет | | Повече ▼ | Обикновено голяма сума пари |
Неоторизирана модификация | Трудно (да се разбере потокът на програмата е сложна задача) | Лесно (Разбирането на потока от програми е проста задача) |
Отстраняване на грешки | Трудно | лесно |
Изпълнение на получения код | С компютърен хардуер | С друга програма |
пример | C компилатор | ОСНОВЕН |
Работещ компютър | който и да е | Инсталиран интерпретатор |