Привет и добро пожаловать в другой блог. В этом блоге я расскажу о компиляторе и транспиляторе. Итак, давайте углубимся!
ОГЛАВЛЕНИЕ
- Компилятор
- Работа компилятора
- Транспилятор
- Работа транспилятора
- Подводя итоги и главное отличие
- Конечная нота
Компилятор
Термин компилятор был придуман американским ученым-компьютерщиком Грейс Хоппер, разработавшим один из первых компиляторов в начале 1950-х годов.
Как мы все знаем, компьютеры понимают только двоичный язык, а мы, люди, нет. Поэтому для перевода нашего кода на двоичный язык нам нужны компиляторы.
По сути, компилятор — это программа, которая преобразует язык высокого уровня в язык низкого уровня. ИЛИ, говоря проще, мы можем сказать, что он переводит код, написанный нами на понятном человеку языке, на язык, понятный машинам (двоичный).
Теперь, если говорить о JavaScript, у него нет компилятора, в отличие от других языков программирования, таких как cpp и python есть. Вот почему его еще называют скриптовым языком.
Работа компилятора
Всякий раз, когда мы пишем какой-то код и когда мы его компилируем, компилятор сканирует весь код и проверяет на наличие ошибок и т. д., и после проверки он преобразует исходный код в машинный код, а также генерирует промежуточный объектный код, который дополнительно требует компоновки и, следовательно, требует больше памяти. Компилятор также оптимизирует код, чтобы он мог работать быстро и занимал меньше места в памяти. Время выполнения быстро в компиляторах. Языки программирования, такие как C, C++, java, используют компиляторы.
Транспилятор
В отличие от компиляторов транспилеры преобразуют код в код. Транспиляторы также известны как компиляторы исходного кода, потому что они берут исходный код, написанный на одном языке, и преобразуют его в другой язык с аналогичным уровнем абстракции. Давайте разберемся на примере, ES6 — последняя
, а ES5 — старая версия. Большая часть движка браузера поддерживает старую версию ECMA. Поэтому разработчики используют транспилер для запуска кода и в его более низкую версию. Babel — это транспилятор, который преобразует код ES6 в ES5 или более ранние версии, чтобы его можно было легко запускать. Транспилятор Typescript также преобразует код Typescript в JavaScript.
Работа транспилятора
Транспилятор сначала анализирует код и извлекает ключевые слова, переменные и т. д. Затем он формирует абстрактное синтаксическое дерево, соответствующее целевому языку. Typescript — это язык высокого уровня, но после транспиляции он превращается в JavaScript (еще один язык высокого уровня). Или, например, Babel может преобразовать код JavaScript ES6 в JavaScript ES5.
Подводя итоги и главное отличие
Компилятор обычно создает непосредственно используемый артефакт (какой-то исполняемый двоичный файл). Просто он берет ваш код и конвертирует в исполняемый формат. В то время как Transpiler программное обеспечение, которое преобразует исходный код одного языка в исходный код другого.
Конец примечания
Надеюсь, что этот блог развеял большинство ваших сомнений, связанных с компилятором и транспилером. Я хотел бы получить ваши отзывы, чтобы я мог улучшить больше.
Спасибо!