Windows 10を開発するのに使われているプログラミング言語は何なのか?
by Negative Space
Microsoftが2015年にリリースしたWindows 10は1985年から続くWindowsシリーズ最新のモデルであり、最後を飾るOSでもあります。発売から4年経過してもなお開発が続けられているWindows 10はどんなプログラミング言語を使って開発されているのかという疑問について、MicrosoftのエンジニアであるAxel Rietschin氏が解説しています。
Axel Rietschin's answer to Which programming language is used for making Windows 10? - Quora
https://www.quora.com/Which-programming-language-is-used-for-making-Windows-10/answer/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氏は推測しています。
by Kevin Ku
Rietschin氏は、「Windows 10をはじめとするWindowsシリーズの開発は非常に壮大なプロジェクトであり、Windowsがどれも非常に巨大なサイズのOSであることはあまり認識されていないようです」と述べています。
テストコードなどを含む「Windowsソースコード」を構成する全てのソースコードは、実に500GBを超えており、ファイル数は400万を超えているとのこと。OSのワークステーションやサーバープロダクトを構成するソース、ツール、開発コードなどを流し見するだけでも1年はかかり、ファイル名や中のコードがどうなっているのかを解読しようとすれば、一生かけても時間が足りないかもしれないそうです。
Windowsプロジェクトでは、毎日かなりの量のコードが大勢のプログラマーによって作成されているとのこと。そのため、1日の間にWindowsプロジェクトに追加されたコードを、1人が1日ですべて読み切ることは不可能だろうとRietschin氏は述べました。
・関連記事
Windows 10で問題のあるアップデートが自動的にPCから削除されるようになる - GIGAZINE
MicrosoftがWindows 10標準の「Windows 電卓」をオープンソース化 - GIGAZINE
Windows 10の自動更新プログラムのせいでHomeエディションのユーザーが悲鳴を上げている - GIGAZINE
Microsoftは機械学習を利用してPC使用中にWindows10がアップデートするのを回避しようとしている - GIGAZINE
誰でも簡単にRaspberry Pi 3へ64bit ARM版Windows 10をインストールできるツールが登場 - GIGAZINE
「Windows 10がWindowsの最後のバージョンになる」とMicrosoftが明言 - GIGAZINE
Windows 10で「神モード(GodMode)」を使う方法 - GIGAZINE
Windows 10ではコマンドプロンプトが地味かつ大幅に進化 - GIGAZINE
・関連コンテンツ