- 그가 2012년 TypeScript 작업을 시작한 계기는 JavaScript가 대규모 다중 개발자 코드베이스에서 확장성이 부족했기 때문이며, 수백만 줄의 느슨한 타입 코드를 다루는 팀들에게 시스템 복잡도 관리 도구가 필요했음
- 2025년 TypeScript는 GitHub에서 가장 많이 사용되는 언어로, JavaScript와 Python을 처음으로 추월했으며, 올해만 백만 명 이상의 개발자가 TypeScript로 기여를 시작(전년 대비 66% 증가)
- TypeScript의 성공 요인은 정적 타입 시스템과 AI 코드 생성의 호환성으로, AI가 대량의 코드 데이터를 학습해 생성할 때 타입이 신뢰성과 유지보수성을 높이는 진실 검증자 역할을 수행
- 컴파일러를 Go로 재작성해 10배 성능 향상을 달성했으며, 네이티브 실행과 공유 메모리 동시성으로 각각 절반씩 개선, 기존 동작은 완벽히 보존해 커뮤니티 호환성 유지
- AI 시대에 IDE는 개발자뿐 아니라 에이전트를 위한 환경으로 진화하고 있으며, TypeScript의 구조적 타입 시스템이 에이전트가 안전하게 리팩토링하고 코드베이스를 결정론적으로 추론하는 기반 제공
TypeScript 탄생 배경과 목표
- 2012년 JavaScript는 이미 웹의 중심이었지만 대규모 개발에 적합한 확장성 부족
- 팀들이 수백만 줄의 느슨한 타입 코드를 배포하고 있었고, 시스템이 복잡해질수록 추론이 어려워짐
- TypeScript는 JavaScript를 대체하는 것이 아니라 타입, 도구, 리팩토링 기능을 추가해 대규모 개발을 가능하게 만드는 것이 목표
- Anders는 "JavaScript 커뮤니티의 25%가 관심을 가지면 성공"이라고 생각했지만, 현재 수준은 예상을 훨씬 넘어섬
- "매일 이렇게 많은 사람들이 의존하는 걸 보면 놀랍다. 팀 전체가 놀라고 있다"
TypeScript의 핵심 특징
- JavaScript의 타입 기반 슈퍼셋으로 일반 JavaScript로 컴파일됨
- 정적 타입 검사, 인터페이스, 제네릭, 현대적 언어 기능 추가
- 컴파일 시 타입 정보 제거해 JavaScript가 실행되는 모든 곳에서 작동
- 개발자들이 사용하는 이유:
- 런타임 이전에 타입 오류 감지
- IDE 자동완성 및 리팩토링 개선
- 팀 간 대규모 코드베이스 유지보수 가능
- 프레임워크 및 AI 지원 도구와 원활한 통합
- 주요 사용처: 프론트엔드 프레임워크(React, Angular, Vue), 백엔드 시스템(Node.js, Deno), SDK, 디자인 시스템, 강력한 타입이 필요한 AI 기반 에이전트 프레임워크
TypeScript의 시장 지배력
- 2025년 기준 거의 모든 현대 프론트엔드 프레임워크(React, Next.js, Angular, SvelteKit)가 기본적으로 TypeScript로 스캐폴딩
- 결과: 더 안전한 코드베이스, 더 나은 자동완성, 새벽 3시 undefined 디버깅 세션 감소
- "TypeScript를 JavaScript처럼 느껴지게 하되 슈퍼파워를 주는 것이 마법이었다"
컴파일러 재작성
- TypeScript는 원래 자체 호스팅(TypeScript로 작성)되어 이식성과 해킹 가능성 유지
- 하지만 성능이 결국 문제가 됨
- "자체 호스팅을 포기하는 것은 고통스러웠지만, 더 이상 성능을 끌어낼 수 없다는 걸 알았다"
- C#과 다른 언어를 실험한 끝에 Go로 선택
-
10배 성능 향상 달성: 절반은 네이티브 실행, 절반은 공유 메모리 동시성
- "10배를 무시할 수 없다"
- 새 컴파일러는 기존 컴파일러의 완벽한 복사본, 버그까지 동일
- 동작을 보존하면서 성능을 개선하는 철학이 개발자들이 TypeScript를 신뢰하는 이유 중 하나
- 몇 년마다 완전히 새로 작성하는 것이 아니라 호환성을 유지하는 진화적 시스템
오픈소스에 대한 철학
- Anders는 오픈소스를 자연선택을 반영하는 생태계로 봄
- "오픈소스는 큰 실험이었다. 아무도 자금 조달 방법을 제대로 찾지 못했지만, 여기 우리가 있다. 그 어느 때보다 크고 사라지지 않을 것이다. 코드에 포착된 진화다"
- Octoverse 데이터가 이를 뒷받침: 개발자들이 2025년에 거의 10억 개의 커밋을 푸시(전년 대비 25% 증가)
- 11억 2천만 개가 공개 및 오픈소스 저장소로 전송
- TypeScript 저장소는 12년간의 이슈, 풀 리퀘스트, 디자인 노트로 언어 진화의 살아있는 아카이브
- "GitHub에 12년의 역사가 포착되어 있다. 모두 검색 가능하다.
grep할 수 있는 진화다"
AI 시대에 TypeScript가 번성하는 이유
- Octoverse 2025의 가장 인상적인 데이터: AI가 언어 선호도를 변화시키고 있음
- 개발자들이 AI 지원 코딩을 더 신뢰성 있고 유지보수 가능하게 만드는 타입 언어로 이동 중
- Anders의 설명: "AI가 언어로 코드를 작성하는 능력은 그 언어를 얼마나 많이 봤는지에 비례한다. AI는 큰 재생산기계이며 약간의 외삽을 한다. AI는 JavaScript, Python, TypeScript를 엄청나게 많이 봤기 때문에 이들 언어로 코드를 잘 작성한다. 새로운 언어는 실제로 불리하다"
- 데이터 친숙성과 TypeScript의 정적 타입 시스템이 결합되어 AI 우선 워크플로우에 독보적으로 적합
- "AI에게 50만 줄의 코드를 번역하라고 하면 환각을 일으킬 수 있다. 하지만 그 번역을 결정론적으로 수행하는 프로그램을 생성하라고 하면 신뢰할 수 있는 결과를 얻는다. 그게 바로 타입이 만들어진 문제다"
- 핵심 메시지: 인간과 기계가 모두 코드를 작성하는 세상에서 타입은 관료주의가 아니라 진실 검증자
IDE에서 에이전트로
- 대규모 언어 모델의 부상은 "개발자 도구"의 의미 자체를 변화시킴
- IDE는 개발자뿐 아니라 에이전트를 위한 환경으로 진화
- "AI는 처음에 보조자로 시작했다. 이제는 작업을 수행하고 당신은 감독한다. AI는 우리처럼 IDE가 필요하지 않다. 서비스가 필요하다. 그래서 Model Context Protocol 작업이 흥미롭다"
- Octoverse 보고서는 이 변화를 "AI가 선택을 재구성하는 것이지 단지 코드만이 아니다" 라고 설명
- TypeScript 같은 타입 언어는 에이전트가 안전하게 리팩토링하고 의미적 쿼리에 답하며 결정론적 방식으로 코드베이스를 추론하는 데 필요한 구조 제공
- "목표는 AI 워크플로우를 충분한 결정론으로 박스화해서 궤도를 벗어나지 않고 유용하게 유지하는 것"
계속 진화하는 언어
- Turbo Pascal부터 C#, 그리고 이제 TypeScript까지 Anders의 작업은 수십 년에 걸침
- 인상적인 점은 일관성: 복잡한 소프트웨어를 추론하기 쉽게 만드는 언어 구축
- "차이를 만드는 무언가를 작업하는 것보다 만족스러운 것은 없다. TypeScript는 계속 변하지만 항상 같은 것으로 돌아온다: 개발자가 의도를 명확히 표현하도록 돕는 것"
- 이러한 명확성이 2025년에 매초 한 명의 새 개발자가 GitHub에 가입하고, 그들 중 증가하는 비율이 TypeScript로 시작하는 이유를 설명할 수 있음
- TypeScript의 이야기는 언어 디자인에 관한 것만이 아니라 진화에 관한 것
- JavaScript의 확장성을 위한 실용적 해결책으로 시작한 프로젝트가 개발자와 이제는 AI가 함께 코드를 작성하는 방식의 기초가 됨