Может кто-нибудь на пальцах объяснить, что вообще делает компилятор. И что такое транслятор?
Компилятор и транслятор - суть одно и тоже. Мы пишем программу на каком либо языке
программирования словами. Компилятор переводит программу в исполнимый машинный код
процессора, который его исполняет. И то не всегда. Так с# использует байт-код,
который на этапе исполнения (run-time) так же разворачивается в машинный код.
Есть еще интерпретаторы - которые или непосредственно интерпретируют код
программы исполняя ее, или через текст или через байт-код, вариантов
может быть много разных. Почитайте про gcc, который есть в любой линукс-системе.