Anders Hejlsberg — 言語デザインの巨匠
TypeScriptを理解するには、その設計者Anders Hejlsberg(1960年デンマーク生まれ)の経歴を知ることが重要です。 彼はプログラミング言語設計の世界で、40年以上にわたり革命を起こし続けてきた人物です。
timeline
title Anders Hejlsbergの言語設計キャリア
1980s : Turbo Pascal
: Borland社でオリジナル開発
: 高速コンパイラで革命
1990s : Delphi
: チーフアーキテクト
: RAD開発の先駆け
1996 : Microsoft入社
: J++とWFC担当
2000s : C# リードアーキテクト
: .NET言語の設計を主導
2010 : TypeScript 開発開始
: 社内コードネーム Strada
2012 : TypeScript 0.8 公開
: JavaScriptの型付きスーパーセット
2025 : TypeScript Go移植 発表
: Project Corsa で10倍高速化Turbo Pascal、Delphi、C# — これら3つの言語はいずれも、当時の開発者体験を大きく変えました。 TypeScriptはその集大成であり、Hejlsbergの「開発者体験を最優先する」という一貫した哲学が貫かれています。
TypeScriptの誕生 — なぜ作られたのか
2010年頃、Microsoftは深刻な課題に直面していました。 JavaScriptによる大規模アプリケーション開発が破綻しかけていたのです。
当時のJavaScriptは、Webページの簡単なスクリプト用に設計された言語でした。 しかし、Ajax革命以降、フロントエンドの複雑さは爆発的に増大していました。 Microsoft社内のチームや外部顧客は、Script#やjslint、Google Closure Compilerなどのツールで対処していましたが、 いずれも根本的な解決には至りませんでした。
| 課題 | 当時のJavaScript | TypeScriptの解決策 |
|---|---|---|
| 型安全性 | 実行時まで型エラーが分からない | コンパイル時に静的型チェック |
| コード構造化 | モジュール・名前空間の標準が未整備 | クラス・インターフェース・モジュール |
| 開発者ツール | エディタの補完が不正確 | Language Serviceによる正確な補完・リファクタリング |
| 大規模コードの保守 | コンポーネント間の契約が不明確 | インターフェースによる明示的な契約 |
約50人のチーム(ヘッドはSteve Lucco)が、社内コードネーム「Strada」として約2年間の非公開開発を経て、 2012年10月1日にTypeScript 0.8として世に出ました。 Luke Hoban(F# 2.0の開発者)も初期の共同設計者として参加しており、 F#の設計がTypeScriptに影響を与えたことが示唆されています。
バージョン年表 — 14年間の進化
初期 (2012-2014) — 基盤の構築
| バージョン | リリース日 | 主要な変更点 |
|---|---|---|
| 0.8 | 2012年10月 | 初版公開。型注釈、クラス、インターフェース |
| 0.9 | 2013年6月 | ジェネリクス対応 |
| 1.0 | 2014年4月 | 正式版リリース。VS 2013に同梱 |
初期の反応は懐疑的でした。 「なぜMicrosoftがまた新しい言語を作るのか」という声が多く、 Anders Hejlsberg自身も「25%のJavaScriptコミュニティに興味を持ってもらえれば成功」と控えめな見積もりを立てていました。 しかし、Miguel de Icaza(Mono/GNOME創設者)が言語を賞賛するなど、言語設計に精通した開発者からの評価は高いものでした。
ES6対応期 (2015-2016) — エコシステムの拡大
| バージョン | リリース日 | 主要な変更点 |
|---|---|---|
| 1.5 | 2015年7月 | ES6モジュール、tsconfig.json導入 |
| 1.6 | 2015年9月 | JSX対応、交差型、abstractクラス |
| 1.8 | 2016年2月 | --allowJsでJSファイル許可 |
型システム強化期 (2016-2020) — 表現力の飛躍
| バージョン | リリース日 | 主要な変更点 |
|---|---|---|
| 2.0 | 2016年9月 | strictNullChecks、制御フロー型分析、never型 |
| 2.1 | 2016年12月 | keyof/T[K]、Mapped Types |
| 2.8 | 2018年3月 | Conditional Types(inferキーワード) |
| 3.0 | 2018年7月 | Project References、unknown型 |
| 3.4 | 2019年3月 | --incrementalビルド、const assertion |
| 3.7 | 2019年11月 | オプショナルチェーニング ?.、Nullish合体 ?? |
| 4.0 | 2020年8月 | 可変長タプル型 |
| 4.1 | 2020年11月 | Template Literal Types |
この時期、TypeScriptの型システムは単なる型注釈の域を超え、 チューリング完全な型レベルプログラミング言語へと進化しました。 Conditional Types、Mapped Types、Template Literal Typesの組み合わせにより、 型レベルでのパーサーやルーターすら実装可能になりました。
モダン期 (2022-2026) — 完成と革新
| バージョン | リリース日 | 主要な変更点 |
|---|---|---|
| 4.9 | 2022年11月 | satisfies演算子 |
| 5.0 | 2023年3月 | ECMAScript標準デコレータ、moduleResolution: bundler |
| 6.0 | 2026年3月 | strict: trueがデフォルト、ES5ターゲット廃止、JS版最終リリース |
| 7.0 | 2026年中頃(予定) | Go言語で完全書き直し(Project Corsa)、10倍高速化 |
コミュニティの成長 — 懐疑から標準へ
xychart-beta title TypeScript採用率の推移(Stack Overflow Developer Survey) x-axis [2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025] y-axis "使用率 (%)" 0 --> 55 bar [12, 17, 21, 25, 28, 28, 30, 35, 49]
| 年 | 主要イベント | 影響 |
|---|---|---|
| 2012 | TypeScript 0.8 公開 | 懐疑的反応が多数。「25%が興味を持てば成功」 |
| 2014 | GitHubへ移行、新コンパイラ | オープンソースコミュニティとの距離が縮まる |
| 2015 | Angular 2がTS採用 | Googleの採用で信頼性が飛躍的に向上 |
| 2015 | VS Code リリース(TSで構築) | TS自体の実用性を世界に証明 |
| 2018 | npm調査: 46%のJS開発者がTS使用 | 主流化の始まり |
| 2022 | TypeScript 10周年 | 4.9でsatisfies演算子導入 |
| 2025 | GitHub上で最も使用される言語 第1位 | 月間260万コントリビューター、前年比+66% |
| 2026 | TS 6.0(JS版最終)+ TS 7.0(Go版) | 14年の歴史で最大の転換点 |
オープンソースの旅路
TypeScriptは2012年10月、CodePlex上でApache License 2.0のもとオープンソースとして公開されました。 2014年7月にはGitHubに移行し、同時に新コンパイラ(5倍の性能向上)を発表。 この移行は、Microsoftのオープンソース戦略の転換を象徴する出来事でもありました。
Anders Hejlsbergの言葉: "Open source was a big experiment... It's evolution captured right there in the code." — 12年間の設計議論と意思決定の履歴がすべてGitHub上で公開されており、 言語設計プロセスの透明性という点でも画期的です。
理解度チェック
Anders Hejlsbergが設計に関わった言語として正しい組み合わせはどれですか?
キーボード: 1〜4 で選択、Enter で回答