Windows 10を開発するのに使われているプログラミング言語は何なのか?

Microsoftが2015年にリリースしたWindows 10は1985年から続くWindowsシリーズ最新のモデルであり、最後を飾るOSでもあります。発売から4年経過してもなお開発が続けられているWindows 10はどんなプログラミング言語を使って開発されているのかという疑問について、MicrosoftのエンジニアであるAxel Rietschin氏が解説しています。

Rietschin氏は、「Windows 10はWindows 8やWindows 7、Windows Vista、Windows XPとベースとなったコードを共有しており、過去のWindowsシリーズと同様のベースコードを基にして発展させたOSです。Windowsシリーズの各世代は大幅なリファクタリングが行われているほか、重要な新機能が追加されてパフォーマンスが向上し、セキュリティを高めた上に高度な上位互換性を維持しています」と述べています。つまり、Windows 10は現時点で最新のOSではあるものの、基となっているコードは昔のものを継承しているというわけです。

OSの中核となるカーネルの多くはC系言語の始祖であるC言語によって書かれたものだとRietschin氏は主張。GitHubに公開されているリークされたWindows Research Kernelのコピーは時代遅れな古いものであり、不完全であるものの、Windows 10がどの言語で書かれたのかという疑問について重要な洞察を投げかけているとのこと。

カーネルモードで動作するファイルシステムやネットワーキングシステムなどのほとんどはC言語で書かれたものであり、時々C++で書かれたものがあるそうです。そしてユーザーモードに近くなり、最近になって開発された部分になるに従ってC言語が少なくなり、C++が増えていくとRietschin氏は説明しています。実際にWindows 10全体を作るために書かれたプログラミング言語が何なのかを分析することは困難ですが、おそらく98%がC言語またはC++になるだろうとRietschin氏は推測しています。

Rietschin氏は、「Windows 10をはじめとするWindowsシリーズの開発は非常に壮大なプロジェクトであり、Windowsがどれも非常に巨大なサイズのOSであることはあまり認識されていないようです」と述べています。

テストコードなどを含む「Windowsソースコード」を構成する全てのソースコードは、実に500GBを超えており、ファイル数は400万を超えているとのこと。OSのワークステーションやサーバープロダクトを構成するソース、ツール、開発コードなどを流し見するだけでも1年はかかり、ファイル名や中のコードがどうなっているのかを解読しようとすれば、一生かけても時間が足りないかもしれないそうです。

Windowsプロジェクトでは、毎日かなりの量のコードが大勢のプログラマーによって作成されているとのこと。そのため、1日の間にWindowsプロジェクトに追加されたコードを、1人が1日ですべて読み切ることは不可能だろうとRietschin氏は述べました。