개발 , 컴퓨터, IT지식
Transpile(트랜트파일)과 Complie(컴파일)
김먼저
2022. 12. 1. 11:15
트랜스 파일과 컴파일이라는 두 용어를 헷갈려서 정리해보려고 합니다.
트랜스 파일과 컴파일을 같은 개념으로 사용하기도 하는데, 약간의 차이가 있습니다.
complie : 한 언어로 작성된 소스 코드를 다른 언어로 변환하는 것.
ex) Java → bytecode
C언어 → 기계어
Transpile : 한 언어로 작성된 소스 코드를 비슷한 수준의 추상화(Abstraction)를 가진 다른 언어로 변환하는 것.
ex) C++ → C언어
coffescript → javascript
두 용어의 의미의 차이를 이해하기 위해 좀 더 쉬운 예를 하나 들어보자면
C#으로 작성된 소스 코드를 컴파일하면 소스 코드와 기계어 사이의 중간 단계 언어(IL-Intermediate Language)로
변하는데, 이 때 두 언어는 서로 매우 다른 추상화 수준을 가지고 있습니다. 그렇기 때문에 이 경우,
트랜스파일링(Transpiling)했다고 말하지 않습니다.
만약 TypeScript로 작성된 코드를 컴파일하면 JavaScript 코드로 변환되는데, 이 두 언어간의 추상 수준은 매우
비슷합니다. 이 때에는 '트랜스파일링(Transpiling)했다'라고 표현합니다.
*Transpiling 추가 예시
CoffeeScript → JavaScript
PureScript → JavaScript