AI 시대의 TypeScript의 부상: 수석 아키텍트 Anders Hejlsberg의 통찰력 | Aaron Winston

TypeScript가 GitHub에서 가장 많이 사용되는 언어가 되었습니다. 개발자가 밝힌 그 이유를 소개합니다.


typescript #AI-시대 #프로그래밍-언어 #오픈소스 #개발자-생산성

TypeScript의 AI 시대 부상: Anders Hejlsberg 리드 아키텍트의 인사이트


핵심 요약

TypeScript는 2025년 GitHub의 가장 많이 사용되는 프로그래밍 언어로 선정되었다. 2012년 대규모 JavaScript 개발을 위한 실용적인 해결책으로 시작한 TypeScript가 처음으로 JavaScript와 Python을 제치고 최상위에 올랐다. 올해 100만 명 이상의 개발자가 TypeScript에 기여했으며 이는 전년 대비 66% 증가한 수치다. 창시자 Anders Hejlsberg는 초기에 JavaScript 개발자의 25%만 채택해도 성공이라고 생각했지만, 현재 현황에 놀라움을 표하고 있다.

AI와 기계학습이 코드 생성 영역으로 확대되면서 타입 시스템이 갖춘 확실성과 결정론적 특성이 중요해졌다. 현대 프론트엔드 프레임워크(React, Next.js, Angular, SvelteKit)는 모두 TypeScript를 기본값으로 제공하며, Node.js, Deno 같은 백엔드 시스템, SDK, 디자인 시스템, AI 기반 에이전트 프레임워크까지 TypeScript의 영역이 확장되고 있다.


상세 요약

1. TypeScript의 출발점: 대규모 JavaScript 개발의 난제 해결

1.1 초기 목표와 예상을 뛰어넘은 성장

2012년 Anders Hejlsberg가 TypeScript를 개발할 당시, 목표는 단순했다. JavaScript 커뮤니티의 25%만 관심을 가져도 성공이라고 생각했다. 당시 JavaScript는 이미 웹의 핵심이었지만, 대규모 다중 개발자 코드베이스에서는 확장성 문제가 심각했다. 수백만 줄의 느슨한 타입의 코드가 너무 복잡해져서 개발자들이 시스템을 이해하기 어려워졌다.

현재 상황은 당시 예상을 훨씬 뛰어넘었다. 2025년 기준 100만 명 이상의 개발자가 TypeScript에 기여했으며, 이는 전년도 대비 66% 증가한 규모다. TypeScript가 JavaScript를 대체하려는 목표는 아니었지만, 대신 JavaScript를 더 크고 복잡한 시스템에서도 안정적으로 사용할 수 있도록 만드는 것이었다.

핵심 철학: “우리가 원한 것은 개발자들이 자신감을 가지고 대규모 시스템을 구축할 수 있게 하는 것이었다.”

1.2 TypeScript의 핵심 기능과 활용 범위

TypeScript는 **JavaScript의 타입이 지정된 상위 집합(typed superset)**으로서 순수 JavaScript로 컴파일된다. 컴파일 과정에서 타입 정보는 제거되어 JavaScript가 실행되는 어느 곳에서나 결과물을 실행할 수 있다.

주요 특징:

  • 정적 타입 검사: 런타임 전에 타입 오류를 캐치
  • 향상된 IDE 자동완성: 개발자 경험 대폭 개선
  • 대규모 코드베이스 유지보수성: 팀 전체에서 코드 관리 용이
  • 프레임워크 및 AI 보조 도구와의 완벽한 통합

활용 분야:

  • 프론트엔드: React, Angular, Vue, Next.js, SvelteKit
  • 백엔드: Node.js, Deno
  • SDK 및 디자인 시스템
  • AI 기반 에이전트 프레임워크 (생성된 코드의 안전성을 위해 강타입 필요)

실무적 이점: 타입 안전성으로 인해 런타임 오류가 대폭 감소하고, 대규모 리팩토링도 자신감 있게 진행할 수 있다. 이는 특히 3시간밤중 버그 해결(rogue undefined 추적)을 크게 줄여준다.

2. 컴파일러 재작성: 성능 10배 향상의 진화

2.1 자체 호스팅(Self-hosting)의 한계와 Go 언어로의 전환

TypeScript가 출시되었을 당시, 혁신적인 결정이 있었다: 컴파일러 자체를 TypeScript로 작성하는 자체 호스팅 방식을 채택했다. 이는 컴파일러를 이식성 있고 해킹 가능하게 만드는 장점이 있었다.

그러나 시간이 지나면서 성능 문제가 대두되었다. Anders Hejlsberg는 "자체 호스팅을 포기하기는 정말 힘들었지만, 더 이상 성능을 짜낼 수 없다는 것을 깨달았다"고 회상한다.

해결책: Go 언어로의 컴파일러 재작성

개발팀은 C#를 포함한 여러 언어를 실험한 후 Go 언어를 최종 선택했다. 결과는 놀라웠다:

성능 향상: 10배 빠른 속도 달성

  • 50%: 네이티브 컴파일의 이점
  • 50%: 공유 메모리 기반 동시성(shared-memory concurrency) 이점

"10배의 성능 향상을 무시할 수 없었다"는 것이 그 당시의 판단이었다.

2.2 하위 호환성 유지의 철학

중요한 점은, 새로운 Go 기반 컴파일러가 기능적으로는 구 컴파일러와 정확히 동일하다는 것이다. 원본 컴파일러의 모든 특이점까지 복제해냈다.

진화의 철학: “우리는 네이티브 컴파일러를 기존 버전의 정확한 복사본으로 만들었다. 개발자들이 기존 코드를 버릴 필요가 없다.”

이러한 접근 방식이 개발자들이 TypeScript를 신뢰하는 핵심 이유 중 하나다. 매 몇 년마다 깨끗한 상태에서 재작성되는 것이 아니라, 12년 동안 지속적으로 진화해온 시스템이기 때문이다.

TypeScript의 GitHub 저장소에는 12년에 걸친 이슈, 풀 리퀘스트, 디자인 노트가 모두 기록되어 있다. "12년간의 역사가 GitHub에 기록되어 있으며, 모두 검색 가능하다. 이는 grep로 검색할 수 있는 진화의 기록이다"라고 Anders는 표현한다.

3. 오픈소스: 코드에 담긴 진화의 기록

3.1 오픈소스의 본질: 자연선택이 수행된 생태계

Anders는 오픈소스를 매우 흥미로운 관점에서 바라본다:

오픈소스는 자연 선택을 반영하는 생태계다. “오픈소스는 큰 실험이었다. 누구도 자금 조달 방법을 제대로 파악하지 못했지만, 여기 있다. 그리고 그것은 사라지지 않을 것이다. 오픈소스는 코드에 기록된 진화다.”

3.2 2025년 오픈소스 커밋 기록

Octoverse 데이터는 이를 뒷받침한다:

  • 2025년 9억 9천만 건의 커밋 기록 (전년 대비 +25%)
  • 11억 2천만 건이 공개 및 오픈소스 저장소로 향함

이는 각 풀 리퀘스트마다 하나씩 작성된 진화의 기록이다.

4. AI 시대: TypeScript가 최상위 언어가 된 이유

4.1 AI가 언어 선호도를 바꾸는 방식

Octoverse 2025의 가장 놀라운 데이터: 개발자들이 타입이 지정된 언어로 이동 중이다. 특히 AI 보조 코딩이 더욱 신뢰할 수 있고 유지보수하기 쉬워지기 때문이다.

Anders의 설명:

“AI가 어떤 언어로 코드를 작성하는 능력은 그 언어를 얼마나 많이 학습했는지에 비례한다. AI는 기본적으로 큰 '회귀기(regurgitator)'이면서 어느 정도 외삽(extrapolation)을 수행한다. AI는 JavaScript, Python, TypeScript를 엄청나게 많이 학습했기 때문에 이들 언어로 뛰어난 코드를 작성한다. 새로운 언어들은 실제로 불리한 입장이다.”

데이터 친숙성과 타입 시스템의 결합: TypeScript의 정적 타입 시스템이 이러한 데이터 친숙성과 결합되면서, AI 우선 워크플로우에 유일하게 적합한 언어가 되었다.

4.2 타입의 역할: 진실 검사자(Truth Checker)

“AI에게 50만 줄의 코드를 번역하도록 요청하면, 환상을 본다. 하지만 그 번역을 결정론적으로 수행하는 프로그램을 생성하도록 요청하면, 신뢰할 수 있는 결과를 얻는다. 이것이 바로 타입이 만들어진 종류의 문제다.

이 시점의 핵심:

인간과 기계가 모두 코드를 작성하는 세상에서 타입은 관료적 부담이 아니라 진실 검사자다.

  • AI 생성 코드의 신뢰성 향상: 타입 시스템이 AI의 할루시네이션을 제어
  • 결정론적 동작 보장: AI가 예측 가능한 방식으로 코드 리팩토링 수행
  • 의미론적 쿼리 응답: AI가 코드베이스에 대한 의미 있는 질문에 확실하게 답변

5. IDE에서 에이전트로: 개발 도구의 패러다임 전환

5.1 개발 도구의 재정의

대규모 언어 모델의 부상으로 "개발 도구"의 정의 자체가 변하고 있다.

패러다임 전환:

과거: “AI가 보조자였다.” → 개발자가 주도, AI가 지원

현재: “이제 AI가 일을 하고, 당신이 감독한다.” → AI가 주도, 개발자가 검수

“AI는 IDE를 우리가 사용하는 방식으로 필요로 하지 않는다. 그것은 서비스를 필요로 한다. 이것이 Model Context Protocol 작업이 흥미로운 이유다.”

5.2 TypeScript와 에이전트 워크플로우

Octoverse 보고서는 이 변화를 "AI가 코드가 아닌 선택을 재형성한다"고 표현한다.

TypeScript 같은 타입 지정 언어가 에이전트에게 제공하는 것:

  • 안전한 리팩토링 구조: 타입 정보로 인한 명확한 경계
  • 의미론적 쿼리 응답: 코드베이스에 대한 확실한 질의
  • 결정론적 추론: 예측 가능한 코드 변환 방식

핵심 목표: “AI 워크플로우를 충분한 결정론성으로 제한하되, 유용하게 유지하되 궤도를 벗어나지 않도록 하는 것이다.”

6. 진화하는 언어: 명확한 의도 표현의 일관성

6.1 일관된 설계 철학

Anders Hejlsberg의 경력은 Turbo Pascal에서 C#을 거쳐 TypeScript에 이르기까지 수십 년에 걸쳐 있다. 그러나 일관된 주제가 있다:

복잡한 소프트웨어를 더 쉽게 이해할 수 있게 만드는 언어 설계

“더 이상 만족할 수 있는 것은 무엇인가? 당신이 차이를 만드는 무언가에 일하고 있다는 것을 아는 기쁨이다. TypeScript는 계속 변하지만, 항상 같은 것으로 돌아온다: 개발자가 의도를 명확하게 표현할 수 있도록 돕는 것이다.

6.2 새로운 개발자의 증가와 TypeScript의 선택

명확함의 결과:

2025년 매초마다 GitHub에 새로운 개발자가 한 명씩 가입했으며, 그 중 점점 더 많은 수가 TypeScript로 시작하기로 선택하고 있다.


주요 통계 및 트렌드

2025년 개발 언어 생태계

  • TypeScript: GitHub 최상위 언어 (처음으로 JavaScript와 Python 제치고)
  • 개발자 기여: 100만 명 이상 (전년 대비 66% 증가)
  • 오픈소스 커밋: 9억 9천만 건 (전년 대비 +25%)
  • 공개 저장소 커밋: 11억 2천만 건

TypeScript 채택 연도별 변화

  • 2012년: 목표 = JavaScript 개발자의 25% 채택
  • 2012-2025년: 모든 주요 프론트엔드 프레임워크가 기본값으로 채택
  • 2025년: 백엔드, SDK, AI 에이전트 프레임워크까지 확장

컴파일러 성능 개선 (Go 기반 재작성)

  • 성능 향상: 10배 빠름
  • 최적화 원인: 네이티브 컴파일(50%) + 공유 메모리 동시성(50%)

실용적 의미

1. 개발자 관점

  • 코드 안전성: 타입 검사로 런타임 오류 사전 방지
  • 개발 생산성: IDE 자동완성 및 리팩토링 도구 개선
  • 팀 협업: 대규모 코드베이스에서 유지보수성 향상
  • AI 보조 코딩: GitHub Copilot 같은 도구와의 완벽한 통합

2. AI/ML 관점

  • 신뢰성: 타입 시스템이 AI 생성 코드의 할루시네이션 제어
  • 결정론성: 예측 가능한 코드 변환 및 리팩토링
  • 규모 확장: 대규모 코드 분석 및 변환 작업에 적합

3. 오픈소스 생태계

  • 12년 진화 기록: GitHub에 모든 설계 결정과 이유가 기록됨
  • 지속적 진화: 주기적 재작성 없는 호환성 유지
  • 신뢰성: 개발자가 기존 코드를 안심하고 유지 가능

참고 자료 및 링크