Transpile vs Compile

Jae ·2022년 5월 9일

트랜스파일과 컴파일은 소스 코드를 다르게 변환시킨다는 점에서 비슷한 의미이나 약간의 차이점이 있다. (사실 실제 자바스크립트 커뮤니티에서는 이 두 용어가 혼용되어 사용되고 있기 때문에 뭐라고 부르든 크게 신경 쓸 필요는 없을 것 같다.)

Transpile

트랜스파일은 한 언어로 작성된 소스 코드가 같은 언어이지만 문법적으로 다를 때, 소스 코드를 변환해주는 행위라고 할 수 있다.

문법적으로 다르기 때문에 트랜스파일러를 사용해야 하는 대표적인 세 가지가 있다.

  • Typescript
    • Type이 첨가된 Javascript -> Javascript
  • Sass
    • scss -> css
  • Babel
    • ES6 -> ES5

Compile

컴파일은 한 언어로 작성된 소스 코드를 머신 언어로 변경해서 언어와 파일 자체를 변경하는 것이다. 크롬의 V8 엔진도 (구글 크롬에서 C++ 언어를 기반으로 제작) 자바스크립트 언어를 최적화된 머신 코드로 컴파일하는 과정을 수행한다.

  • C -> Assembly
  • Java -> ByteCode

0개의 댓글