> A translator, in software programming terms, is a generic term that could refer to a compiler, assembler, or interpreter;Всё правильно написано, поскольку ни компилятор, ни интерпретатор, ни сборщик не имеют смысла без трансляции
Потому что именно трансляция отвечает за перевод данных из исходной формы в результирующую.
Здесь нет никакого противоречия.
Этот термин пришёл из обработки документов. К ней он и относится, и означает упорядочение информации собранной из разных источников.
Представь, что у тебя есть набор лабораторных работ. Из которых тебе надо сделать курсовую. Наверное слышал словосочетание "скомпилированная работа"?
1) Ты берёшь эти лабораторки и копируешь в один большой текст. Компиляция была? Была.
Аналог для программирования: все исходники в дереве кода прогоняются через компилятор, без трансляции - на выходе получается то же самое. И значит работа бессмысленна. Поэтому трансляция неотделимая часть компиляции. Но это разные вещи.
2) Ты берёшь эти лабораторки, копируешь их в большой текст, потом берёшь и редактируешь текст, добавляешь новый, переставляешь абзацы местами, задействуешь синонимайзеры. Компиляция была? Разумеется была. Она всегда есть! В данном случае с оптимизацией.
3) Ты берёшь эти лабораторки, но тебе надо написать работу на английском. Ты их переводишь и сохраняешь в один текст.
Аналог: компиляция выполнена с трансляцией (переводом). На выходе результат на другом языке. И только в случае трансляции получается ДРУГОЙ язык, например Vala => C.
4) У тебя работа почти готова, но ты решил добавить немного информации из других источников, помимо лабораторок и добавил чертежи (например, блок-схему).
Аналог: компиляция выполнена с компоновкой внешних файлов.
Таким образом, можно увидеть, что компиляция как глобальный процесс занимается менеджерскими задачами, по передаче кода программы различным парсерам, трансляторам, сборщикам, оптимизаторам и т.д. для получения готового результата.
Но так как в кодогенерации компиляция и интерпретация не имеют смысла без трансляции, то компиляторы и интерпретаторы общепринято называются трансляторами.
Называть компиляцию трансляцией это всё равно что называть жизнь человеческого тела дыханием. Типа, процесс трансляции кислорода в углекислый газ является жизнью человеческого тела.
Конечно, от более глубокого понимания нюансов программировать лучше не станешь, но стоит иногда задумываться над тем, чем мы занимаемся.
Вот на это отличие обратил внимание Sw00p aka Jerom.
У него пока тоже нет полного понимания, но можно было бы объяснить ему это по-человечески, не самоутверждаясь.