Привет и добро пожаловать в другой блог. В этом блоге я расскажу о компиляторе и транспиляторе. Итак, давайте углубимся!

ОГЛАВЛЕНИЕ

  • Компилятор
  • Работа компилятора
  • Транспилятор
  • Работа транспилятора
  • Подводя итоги и главное отличие
  • Конечная нота

Компилятор

Термин компилятор был придуман американским ученым-компьютерщиком Грейс Хоппер, разработавшим один из первых компиляторов в начале 1950-х годов.

Как мы все знаем, компьютеры понимают только двоичный язык, а мы, люди, нет. Поэтому для перевода нашего кода на двоичный язык нам нужны компиляторы.
По сути, компилятор — это программа, которая преобразует язык высокого уровня в язык низкого уровня. ИЛИ, говоря проще, мы можем сказать, что он переводит код, написанный нами на понятном человеку языке, на язык, понятный машинам (двоичный).
Теперь, если говорить о JavaScript, у него нет компилятора, в отличие от других языков программирования, таких как cpp и python есть. Вот почему его еще называют скриптовым языком.

Работа компилятора

Всякий раз, когда мы пишем какой-то код и когда мы его компилируем, компилятор сканирует весь код и проверяет на наличие ошибок и т. д., и после проверки он преобразует исходный код в машинный код, а также генерирует промежуточный объектный код, который дополнительно требует компоновки и, следовательно, требует больше памяти. Компилятор также оптимизирует код, чтобы он мог работать быстро и занимал меньше места в памяти. Время выполнения быстро в компиляторах. Языки программирования, такие как C, C++, java, используют компиляторы.

Транспилятор

В отличие от компиляторов транспилеры преобразуют код в код. Транспиляторы также известны как компиляторы исходного кода, потому что они берут исходный код, написанный на одном языке, и преобразуют его в другой язык с аналогичным уровнем абстракции. Давайте разберемся на примере, ES6 — последняя
, а ES5 — старая версия. Большая часть движка браузера поддерживает старую версию ECMA. Поэтому разработчики используют транспилер для запуска кода и в его более низкую версию. Babel — это транспилятор, который преобразует код ES6 в ES5 или более ранние версии, чтобы его можно было легко запускать. Транспилятор Typescript также преобразует код Typescript в JavaScript.

Работа транспилятора

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

Подводя итоги и главное отличие

Компилятор обычно создает непосредственно используемый артефакт (какой-то исполняемый двоичный файл). Просто он берет ваш код и конвертирует в исполняемый формат. В то время как Transpiler программное обеспечение, которое преобразует исходный код одного языка в исходный код другого.

Конец примечания

Надеюсь, что этот блог развеял большинство ваших сомнений, связанных с компилятором и транспилером. Я хотел бы получить ваши отзывы, чтобы я мог улучшить больше.
Спасибо!