Разница между компилятором и транспилером

Прежде чем мы начнем, сначала мы должны понять, что такое языки более высокого и более низкого уровня. Языки программирования высокого уровня означают, что языки написания компьютерных инструкций доступны для понимания и близки к человеческому языку, а их синтаксис или стиль кода легко понятны. Принимая во внимание, что в языках низкого уровня программирование выполняется на машине, которую сложно освоить, поскольку она связана с машинным языком, на котором каждая инструкция, которую мы передаем, будет в двоичном формате, например 0 или 1.

Итак, теперь давайте перейдем к нашей основной теме. В чем разница между компиляцией и транспиляцией.

Компиляция: –

В общем, компиляция означает преобразование удобочитаемого исходного кода в код, понятный машине. Общим примером могут быть C и C++. Текстовый код компилируется в бинарный формат.

Например, компилятор Java преобразует
файл .java в файл .class.

Транспиллинг:-

Транспиллинг означает преобразование кода с одного языка на другой того же уровня абстракции. Например, Typescript — это язык высокого уровня, но после его транспиляции он превращается в JavaScript (еще один язык высокого уровня). Давайте возьмем еще один пример — Babel. Что делает Babel, так это транспилирует код JavaScript ES6 в код JavaScript ES5.

Преимущество транспилятора в том, что вы можете писать на одном языке и в итоге получить другой язык высокого уровня.

Давайте посмотрим на несколько примеров транспилятора:

Код ES6:

Код ES5:

  • Babel — для преобразования кода ES6 в обратно совместимые версии Javascript.

Разница между транспилером и компилятором заключается в уровне абстракции выходных данных. Как правило, компилятор создает машинно-исполняемый код, тогда как транспилятор создает другой язык высокого уровня.

Вывод:-

Компилятор и транспилятор гораздо шире и шире, чем то, что мы рассмотрели здесь, но цель состоит в том, чтобы предоставить обзор того, что означают эти термины.

Позвольте мне ваши мысли.