typescript 7 컴파일러를 go로 작성

typescript 7 컴파일러를 go로 다시 작성중인데 C#이 아니냐는 반발이 거세군요. 댓글을 읽어 보니 MS는 왜 C#을 개밥먹기(dog fooding) 하지 않느냐는 개발자의 절규가 공감됩니다. 요즘(.net aspire 시작 이후) C# 언어 디자인은 현업과 동떨어진 느낌을 받고 있기는 해서 더 그렇게 공감이 되는 걸지 모르겠네요.

다음은 gpt 4.5 심층리서치 입니다.

Anders Hejlsberg는 :office: 마이크로소프트의 :star2: Technical Fellow이자 세계적으로 유명한 :globe_with_meridians: 프로그래밍 언어 설계자로서, :blue_book: TypeScript의 창시자 및 수석 설계자로 최근 몇 년간 언어의 :rocket: 발전 방향과 :hammer_and_wrench: 혁신을 이끌고 있습니다. 그는 프로그래밍 언어 :art: 디자인과 컴파일러 :gear: 최적화 분야에서 풍부한 경험과 깊은 :books: 학문적 이해를 바탕으로, 소프트웨어 개발의 효율성 :bulb:과 안정성 :lock: 증진에 지속적으로 기여하고 있습니다.

:spiral_calendar: 최근 주요 활동

:fire: 1. TypeScript 컴파일러 네이티브 포팅 연구 (“Corsa” 프로젝트)

Hejlsberg는 :chart_with_downwards_trend: 성능 병목 현상을 깊이 분석하고, :brick: 근본적인 해결책을 제공하기 위해 TypeScript 컴파일러를 네이티브 :hammer_and_wrench: 구현으로 재구성하는 “Corsa” 프로젝트를 추진하고 있습니다. 특히 Go 언어 :hamster:를 사용하여 기존 JavaScript 기반의 성능 한계를 극복하여 :racing_car: 속도를 약 10배 이상 향상시키고, 메모리 사용량을 :chart_with_downwards_trend: 획기적으로 줄일 것으로 기대됩니다[1][2].

:two: 오픈 소스 프로젝트 :earth_africa: 리더십과 커뮤니티 :globe_with_meridians: 활성화

Hejlsberg는 TypeScript의 오픈 소스화를 주도하고 GitHub :octopus:를 통해 공개적인 협력 :handshake: 모델을 추진했습니다. 그는 언어 :art: 설계 및 주요 기능 :construction: 도입 과정을 커뮤니티와 활발히 공유하며, 직접 코드 :desktop_computer: 리뷰와 이슈 관리 :clipboard:에 적극 참여하고 있습니다. 이는 개발자들과의 활발한 소통 :speech_balloon:을 이끌어 TypeScript 언어 발전의 :rocket: 속도와 :chart_with_upwards_trend: 품질을 향상시키는 데 기여하고 있습니다[3].

개발자 경험(DX) 향상 :star2: 전략

Hejlsberg는 TypeScript의 핵심 가치로 "개발자 경험 :technologist:"을 지속적으로 강조하며, 최신 인터뷰 :studio_microphone:에서 개발 생산성 :chart_with_upwards_trend:과 성능 :rocket: 최적화를 균형 있게 이뤄나갈 계획임을 설명했습니다[4]. 그는 TypeScript가 JavaScript와의 높은 호환성을 유지하면서 IDE의 코드 자동완성 :pencil2: 및 리팩토링과 같은 도구 :hammer_and_wrench: 성능을 최적화하여 개발자에게 최상의 경험을 제공하고자 합니다.

:robot: AI 기반 개발 도구와의 통합

Hejlsberg는 네이티브 컴파일러의 성능 향상을 통해 미래지향적인 AI 기반 코드 분석 :brain:과 코드 자동화를 위한 기반이 마련될 것이라고 밝혔습니다. 그는 TypeScript가 AI 기술과의 :satellite: 연계를 통해 차세대 소프트웨어 개발 환경을 구축할 것으로 예상하며, 개발 환경의 혁신과 효율성 향상을 기대하고 있습니다[5].

현실 중심적이고 지속 가능한 :seedling: 발전 철학

Hejlsberg는 최근 인터뷰에서 TypeScript가 이론적인 완벽함보다 실질적인 문제 해결 :hammer_and_wrench:에 초점을 맞추어야 한다고 강조했습니다. 그는 새로운 언어 개발보다는 TypeScript가 실제 소프트웨어 개발 :desktop_computer: 환경에서 마주하는 현실적이고 구체적인 문제들을 지속적으로 해결하도록 노력하고 있습니다[4][6].

:rocket: 차세대 프로그래밍 패러다임 연구

Hejlsberg는 최신 ECMAScript 표준 :scroll:뿐 아니라 차세대 웹 개발 패러다임(예: 레코드 :clipboard:, 튜플 :package:, 패턴 매칭 :jigsaw:)에 대한 선제적 연구 :microscope:를 진행하고 있습니다. 그는 TypeScript가 최신 기술과 미래의 프로그래밍 패러다임을 수용할 수 있도록 균형 잡힌 발전 전략 :balance_scale:을 추구하며 언어의 지속적 발전을 이끌고 있습니다[5].

결론 및 평가 :pushpin:

Anders Hejlsberg는 프로그래밍 언어 :dart: 설계, 컴파일러 최적화 :gear:, 그리고 개발자 경험 향상 분야에서 독보적인 성과 :trophy:를 지속하고 있습니다. 그의 최근 행보는 TypeScript를 현대 소프트웨어 개발에서 필수적인 도구로 자리 잡게 하는 데 결정적이며, 특히 “Corsa 프로젝트” 같은 혁신적인 접근은 앞으로도 프로그래밍 언어 및 소프트웨어 공학 분야에서 중요한 학술적·실무적 :rocket: 진보를 이끌 것으로 기대됩니다.


:books: 참고문헌

[1] TypeScript 공식 블로그, Corsa 프로젝트 발표 (2025)
[2] Hejlsberg 인터뷰, 컴파일러 성능 개선 배경 (2025)
[3] TypeScript GitHub 공식 저장소 및 커뮤니티 자료
[4] Hejlsberg 인터뷰, 개발자 경험 강조 관련 발표
[5] Hejlsberg 인터뷰, AI 기반 개발 및 미래 프로그래밍 모델 논의
[6] Software Engineering Daily, Hejlsberg 팟캐스트 인터뷰 (2023)

3개의 좋아요

타입 스트립트 코드가 함수형 프로그래밍 기법에 기반해 있어, 포팅 작업량 측면에서, 가장 적은 자원을 요구하는 게 Go 라고 판단된 것 같습니다.

이해가 안 가는 것은 아니지만, 섭섭함은 어쩔 수 없네요.

C#은 윈도우 전용이라는 명제가 더욱 굳어진 느낌도 들고요.

2개의 좋아요

현시점에서는 닷넷이 AOT컴파일을 지원할지언정 전반적으로 AOT를 다루기에 적절한 생태계를 이루지는 못한다 느끼고있어서, 단지 비즈니스상 유착관계라는 이유로 C#을 채택해야한다는건 그닥 설득력을 가지지 못하는거같습니다.
TS팀에서 AOT생태계에 기여해야할 의무도 없고요

3개의 좋아요

사실 상 다른 언어로의 재개발을 한게 아니라,
있는 기능과 펑션들을 그대로 Go 로 옮긴거라고 하더군요
Rewrite 가 아닌 Porting 이라고 불리는데 이유가 있다고 봅니다.
Java 코드를 C# 에서 사용하기 위해 만든 IKVM 처럼 말이죠.

언어적 특성에 맞게 하려면 각 언어 간의 괴리들을 일일히 손봐줘야 합니다.
그러기 위해서 가장 품이 적게 든다고 판단한 언어가 Go 였던거 같습니다.

실제로 포팅된 결과물들의 일부 코드를 보게 되면
기존 TS 로 작성된 코드와 굉장히 유사해 보였습니다.

5개의 좋아요

Hejlsberg라면 C#을 먼저 고려 했을 것 같습니다. 그런데, 프로젝트에 가장 어울리는게 Go 였지 않을까 싶습니다.

MS가 정말 많이 변했네요.

1개의 좋아요