반응형
트랜스파일이란?
트랜스파일(transpile)이란 어떤 특정 언어로 작성된 소스 코드를 다른 소스 코드로 변환하는 것을 말합니다.
종종 트랜스파일이란 용어를 컴파일(compile)과 같은 개념으로 사용하기도 하는데요, 약간의 차이가 있습니다.
컴파일의 경우, 한 언어로 작성된 소스 코드를 다른언어로 변환하는 것을 의미합니다.
C언어로 작성된 소스코드를 기계어로 변환하는 과정을 컴파일이라고 할 수 있겠습니다.
트랜스파일은 한 언어로 작성된 소스코드를 비슷한 수준의 추상화(Abstraction)를 가진 다른 언어로 변환하는 것을 말합니다.
두 용어의 의미의 차이를 이해하기 위해 좀 더 쉬운 예를 하나 들어보자면
C#으로 작성된 소스코드를 컴파일하면 소스코드와 기계어 사이의 중간 단계 언어(IL, Intermediate Language)로 변하는데, 이때 두 언어는 서로 매우 다른 추상화 수준을 가지고 있습니다. 그렇기 때문에 이 경우, 트랜스파일링(transpiling)했다고 말하지 않습니다.
만약 TypeScript 로 작성된 코드를 컴파일하면 JavaScript 코드로 변환되는데요. 이 두 언어간의 추상 수준은 매우 비슷합니다. 이 때에는 트랜스파일링했다라고 표현합니다.
더 살펴보면, C++ 에서 C 언어 코드로, CoffeeScript에서 Javascript 로, PureScript에서 Javascript로 변환되는 형태는 트랜스파일링으로 불릴 수 있습니다.
반응형
'개발&컴퓨터 > IT지식' 카테고리의 다른 글
[MAC] 사용중인 특정 포트 종료 하고, 포트 열기 (2) | 2022.01.07 |
---|---|
워드프레스 사이트 검색 제외시키기 (0) | 2020.03.16 |
리틀엔디안과 빅엔디안 (0) | 2016.04.22 |
힙 메모리 영역과 스택 메모리 영역 (메모리 영역) (7) | 2015.06.03 |
Closed Caption 이란? (폐쇄 자막) / 자막의 종류 (9) | 2015.01.10 |