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/
'미분류 > Tip' 카테고리의 다른 글
JIT (Just in time) 컴파일 방식 (0) | 2020.07.13 |
---|---|
classnames 패키지를 통한 Dynamic class names (0) | 2020.07.09 |
OOP의 4가지 속성 (0) | 2020.05.18 |
[API] Youtube Data API (0) | 2020.04.28 |
shell:startup을 이용해 부팅 시 자동시작하는 어플리케이션 지정하기 (0) | 2020.04.17 |