트랜스 파일과 컴파일이라는 두 용어를 헷갈려서 정리해보려고 합니다.
트랜스 파일과 컴파일을 같은 개념으로 사용하기도 하는데, 약간의 차이가 있습니다.
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
'개발 , 컴퓨터, IT지식' 카테고리의 다른 글
[Anaconda] win10(윈도우10)에서 Anaconda 가상환경 만들기 (0) | 2023.04.11 |
---|---|
[m1 homebrew 설치 Warning 해결방법] /opt/homebrew/bin is not in your PATH (0) | 2023.03.17 |
Redis서버 win10에서 설치하기 (0) | 2023.03.10 |
[객체지향 생활체조 원칙] 2. else 키워드를 사용하지 마라.(2/9) (0) | 2022.12.01 |
[객체지향 생활체조 원칙] 1. 한 메서드에 오직 한 단계의 들여쓰기만 한다.(1/9) (0) | 2022.12.01 |