Мое понимание таково, определения:
Перевод — наличие кода на одном языке, создание кода на другом языке.
Compilaton — перевод в машинный код.
Машинный код — прямые инструкции для процессора.
Теперь из docs.oracle.com:
javac — язык программирования Java компилятор
Компилятор...? Я думаю, что это переводчик Java, потому что он генерирует код, который не является машинным кодом. Для запуска байт-кода требуется интерпретатор (JVM), поэтому он определенно не является машинным кодом.
Из Википедии:
Приложения Java обычно компилируются в байт-код.
Сходным образом. Согласно определениям, я бы сказал, что Java переводится в байт-код. В Интернете есть еще много примеров, я думаю, что это путаница, или я просто что-то упускаю.
Не могли бы вы уточнить это? В чем разница между переводом и компиляцией?