예전에 ms가 tsc를 Go로 포팅했다고 했을 때

왜 더 빠른 러스트 안 쓰냐는 사람이 많았음


ms가 원했던건,

기존 tsc를 최대한 유지하면서 네이티브로 옮기는 거였음


타입스크립트 컴파일러는 원래

ast랑 타입이 서로 물고 늘어지는 구조가 많고

gc 전제로 짜여져 있었다.


러스트로 이걸 그대로 옮기려면

소유권 때문에 구조를 다시 짜야 해서

사실상 재작성이 된다.


그럼 기존 미묘한 동작들까지 다 달라짐.

Go는 그 구조를 거의 그대로 가져갈 수 있어서

1년 만에 포팅을 끝냈고

성능도 꽤 잘 나왔다.


이론적으로 러스트가 더 빠를 수는 있어도

그게 중요한 포인트가 아니라는거 


그리고 Go는 빌드도 빠르고

러스트처럼 target 폴더가 미친듯이 불어나지도 않아서

툴 만들 때 은근히 편하다.