Разница между компилятором и транспилером
Прежде чем мы начнем, сначала мы должны понять, что такое языки более высокого и более низкого уровня. Языки программирования высокого уровня означают, что языки написания компьютерных инструкций доступны для понимания и близки к человеческому языку, а их синтаксис или стиль кода легко понятны. Принимая во внимание, что в языках низкого уровня программирование выполняется на машине, которую сложно освоить, поскольку она связана с машинным языком, на котором каждая инструкция, которую мы передаем, будет в двоичном формате, например 0 или 1.
Итак, теперь давайте перейдем к нашей основной теме. В чем разница между компиляцией и транспиляцией.
Компиляция: –
В общем, компиляция означает преобразование удобочитаемого исходного кода в код, понятный машине. Общим примером могут быть C и C++. Текстовый код компилируется в бинарный формат.
Например, компилятор Java преобразует
файл .java в файл .class.
Транспиллинг:-
Транспиллинг означает преобразование кода с одного языка на другой того же уровня абстракции. Например, Typescript — это язык высокого уровня, но после его транспиляции он превращается в JavaScript (еще один язык высокого уровня). Давайте возьмем еще один пример — Babel. Что делает Babel, так это транспилирует код JavaScript ES6 в код JavaScript ES5.
Преимущество транспилятора в том, что вы можете писать на одном языке и в итоге получить другой язык высокого уровня.
Давайте посмотрим на несколько примеров транспилятора:
Код ES6:
Код ES5:
- Babel — для преобразования кода ES6 в обратно совместимые версии Javascript.
Разница между транспилером и компилятором заключается в уровне абстракции выходных данных. Как правило, компилятор создает машинно-исполняемый код, тогда как транспилятор создает другой язык высокого уровня.
Вывод:-
Компилятор и транспилятор гораздо шире и шире, чем то, что мы рассмотрели здесь, но цель состоит в том, чтобы предоставить обзор того, что означают эти термины.
Позвольте мне ваши мысли.