The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Новая криптографическая библиотека EverCrypt с математически..."
Отправлено t_, 09-Апр-19 01:21 
> 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.
У него пока тоже нет полного понимания, но можно было бы объяснить ему это по-человечески, не самоутверждаясь.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру