그가 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가 함께 코드를 작성하는 방식의 기초가 됨
ai 가 언어를 많이봐서 잘하는것도 물론 중요한요소죠
더나아가 저는 ts 에서 inline type 같은게 좋은거같아요
ai 특성상, 코딩쪽에서는 어텐션이 어떻게 학습되어있을런지모르겠지만
아무래도 가까이 있는 타입일수록 더 잘지키고 하지않겠어요?
그렇지않으면 내부적으로 툴 써서 타입 디피니션 read 해서 context (prompt) 에 한번 더 붙이거나해야할텐데
그런점에서 좋을듯하다 생각이 듭니다.