MSの「Midori」プロジェクト--新言語「M#」など明らかになってきたこと

Mary Jo Foley (Special to ZDNET.com) 翻訳校正: 川村インターナショナル2014年01月16日 07時28分

 Microsoftの「Midori」OSプロジェクトに関して、この数週間で興味深い進展が2つあった。

 第一に、Midori(Microsoftの非「Windows」ベースのOSプロジェクト)がエグゼクティブバイスプレジデントのTerry Myerson氏の下で、Unified Operating Systemグループに移管されたという話を筆者は2人の関係筋から聞いた(それまでMidoriはインキュベーションプロジェクトで、商品化を実現する可能性のある拠点を社内に持たなかった)。

 第二に、Microsoftの上層部はMidoriチームの一部メンバーに対して、同プロジェクトのより詳細な情報を公表する許可を与えたようだ。具体的には、Midoriチームのメンバーの1人であるJoe Duffy氏が米国時間2013年12月27日のブログで、Midoriの開発に使用されている言語に言及した。この言語は、Midoriチームが同OS自体と並行して構築したものだ。

 筆者の複数の情報筋によると、その言語は「M#」(エムシャープ)という開発コード名が付けられており、Microsoftの「C#」言語を拡張したものだという。Duffy氏の投稿について議論するRedditのスレッドでは、自称元Microsoft社員が、この新言語は「Microsoft Researchの『Singularity』OSのシステム言語『Sing#』から発展した」と述べている。

 また、新言語に関するDuffy氏の投稿によれば、この新言語(同氏は「C# for Systems Programming」と呼んでいる)は最終的にオープンソース化される可能性もあるという。しかし、それが現実になる前に、Duffy氏とチームメンバーたちは、Microsoftの未完成のコンパイラ・アズ・ア・サービス(CaaS)テクノロジ「Roslyn」上にM#を再実装する計画だ。

Midoriについてこれまでに判明していること

 Microsoftの社内のスカンクワークスチーム(極秘開発部門)は遅くとも2008年からMidoriの開発に取り組んでいる(Midoriという開発コード名とその取り組みについて、筆者が初めてブログで紹介したのは2008年のことだった)。Midoriチームは自らの初期のルーツをSingularityまで遡ることができる。SingularityはMicrosoft Researchが開発し、マネージドコードとして記述したマイクロカーネルベースのOSだ。

 Midoriを最初に支持したのは、Microsoftの最高技術責任者(CTO)のEric Rudder氏だった。Midoriチームは、Microsoftの花形のベテラン社員を揃えたメンバー(Duffy氏を含む)、さらに社外の野心的な開発者数人で構成されていた。

 初期のMidoriの設計に関する文書は、Midori OSが分散並行処理とクラウドコンピューティングを念頭に置いて構築されることを示していた。MicrosoftはおそらくWindowsとMidori(Windowsを全くベースとしていない)の間に何らかの互換性パスを提供することも試みる計画だったはずだ。初期の設計に関する文書は、Microsoft Researchの「Bartok」事前コンパイラに対する取り組みがMidoriチームに影響を及ぼすことも示していた。

 Duffy氏はその後、公の場で何度かプレゼンテーションを行い、論文も発表している。それらは、Duffy氏と同僚たちがMicrosoftのC#言語に対する何らかの拡張に取り組んでいることを示していた。Duffy氏は最新のブログ投稿でこれについて詳しく説明し、M#(同氏自身はこの開発コード名を決して使わない)は「全く新しい言語というより、最低限の破壊的な変更を施した、C#への拡張セットと見なされるべきだ」と述べた。

MidoriチームのメンバーJoe Duffy氏が提示したこのイラストによると、「X」はM#が目指す位置を示しているという。
MidoriチームのメンバーJoe Duffy氏が提示したこのイラストによると、「X」はM#が目指す位置を示しているという。

CNET Japanの記事を毎朝メールでまとめ読み(無料)

-PR-企画特集

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]