MicrosoftがTypeScriptを発表してから10年が過ぎた。TypeScriptは、JavaScriptとともに発展しつつ、混沌とした大規模アプリケーション開発を管理するための新しい手段を提供する言語として生み出された。
提供: Deagreez/ GETTY
TypeScriptの開発チームに所属しているMicrosoftのテクニカルフェローであり、C#の生みの親でもあるAnders Hejlsberg氏が、TypeScriptのプレビューを発表したのは2012年10月のことだ。同氏は当時、この言語はJavaScriptのスーパーセットで、静的型付けを利用できるようにしたものだと説明していた。その目標は、エラーを早期に発見できるようにし、JavaScriptをウェブページを作るための言語から、ブラウザーやデバイス、クラウド上で実行される大規模なアプリケーションを構築できる言語に拡張することだった。
TypeScriptチームのシニアプログラムマネージャーであるDaniel Rosenwasser氏は、最近、「TypeScriptが初めて登場したときには多くの人が懐疑的だったし、それにはそれなりの理由があった。JavaScriptユーザーの中には、JavaScriptに静的型付けを導入しようとするチームがいるという話を聞いて、何かの悪巧みか冗談だと思った人もいるだろう」と述べている。
しかし今のTypeScriptは、PythonやJava、JavaScriptとともに、プログラミング言語人気ランキングトップ10の常連になっており、Stack Overflowが毎年行っている調査でも、Rust、Exlixir、Clojureに続いて、開発者に愛されている言語の4番目に挙がる言語になった。TypeScriptにとって大きな転機となったのは、GoogleのAngularチームが、同社のウェブフレームワークをTypeScriptで構築すると発表したことだろう。
Hejlsberg氏はTypeScriptのことを、現在と将来のECMAScriptのプロポーザルに忠実に従うJavaScriptの「分身」だと表現している。
TypeScriptには2つの誕生日がある。これは、2012年の発表時には、すでにMicrosoftの社内で2年間開発が続いていたからだ。
Hejlsberg氏は以前、最初の誕生日から10周年の記念日を前に、米ZDNetの取材に対して、同氏がTypeScriptに取り組み始めた理由について説明している。開発当時の状況を振り返ると、ブラウザー戦争は2010年にはすでに決着済みで、Googleが「Chrome」用の強力なJavaScriptエンジンである「V8」を開発していたため、JavaScriptの実行速度はある程度高速になっていた。また、その頃にはHTML5が普及し始めていた。
しかし同時に、開発者はモジュールやクラス、そして(致命的なことに)型システムがないJavaScriptで、大規模なアプリケーションを構築していた。型システムがあれば、「VS Code」の「IntelliSense」のような最新のツールが、コードの定義やコードの補完などの処理についての判断を行うことができる。
「型システムは、コードについての判断を可能にする手段の1つだ。型システムがあれば、コードを実行したり導入したりする前に、その内容をチェックすることができる。言語に型がなければ、それはほとんど不可能だ」とHejlsberg氏は説明している。
「そのため私たちは、JavaScriptが抱えているこれらの問題を解決するツールを作るために、何ができるかを模索し始めた。それがTypeScriptの始まりだった。重要なのは、JavaScriptが人気を集めている理由には手を加えないようにしながら、JavaScriptに型システムを追加することだった」
Hejlsberg氏は、JavaScriptの開発者からの支持を得るには、TypeScriptをオープンソースにする必要があることを認識していた。