미분류/Tip
transpile vs compile
DarrenKwonDev
2020. 5. 19. 09:05
compile
한 언어로 작성된 소스 코드를 다른언어(주로 저급 언어나 바이너리)로 변환하는 것을 의미합니다.
실행시 기계어로 바꾸는 인터프리터 언어보다 빠릅니다만 컴파일 하는 시간(Compile time)이 필요로 합니다.
- C를 어셈블리어나 기계어로 변환하는 과정을 컴파일이라고 할 수 있겠습니다.
Transpile
한 언어로 작성된 소스코드를 비슷한 수준의 추상화(Abstraction)를 가진 다른 언어(주로 고급 언어)로 변환하는 것을 말합니다.
ES6 문법 JS를 ES5 문법 JS으로 트랜스파일 (babel)
C++ 를 C로 트랜스파일
TS를 JS로 트랜스파일
그러나 "비슷한 수준의 추상화"의 기준이 애매모호하며 어떤 한 언어에서 다른 언어로 변환되는 것이기 때문에 둘은 자주 혼용됩니다.
읽으면 좋은 글)
https://www.freecodecamp.org/news/what-is-type-erasure-in-typescript/