金曜日, 10月 03, 2014

9は無いんじゃない? じゃ10で、


うわさ:マイクロソフトが9を飛ばして『Windows 10』を選んだ理由




マイクロソフトが10月1日にプレビュー公開した次期ウィンドウズ『Windows 10』は、発表の唐突さや新生スタートメニューといった中身よりも、「8の次なのに何故9を飛ばして10?」に大きな反響がありました。

マイクロソフトは命名の理由を公式には明らかにしていませんが、マイクロソフトの開発者を名乗る人物が社内のうわさとして「Windows 9 を避けた理由」を語っています。

念のため振り返っておくと、Windows の最新バージョンは Windows 8.1。大きなリリースとしては7、8、8.1の順ですが、8と8.1の違いは7から8や Vistaから7ほど大きくもなく、かといって従来のサービスパックでもなく微妙なところです。

また余計に話をややこしくすれば、製品名としての7や8と開発上のバージョンナンバーは以前から一致しておらず、Windows 7のコードとしてのバージョンは Vistaの6から0.1しか増えていない6.1でした。

このことから、次期Windows は順当にゆけば9だろうと考えられてはきたものの、必ずしも9でなければおかしいわけでもなく、Vistaのように数字ではない言葉が選ばれる可能性もあるだろうと考えられてきました。

そこに発表された「10」は、「数字の9でなければ別の単語」と思い込んでいた大多数の目を点にしたのはご存知のとおり。


発表直後から、「数字ならばなぜ9を飛ばして10??」についてはさまざまな説が語られてきました。そのなかで、マイクロソフトの開発者を自称する " cranbourne " 氏が大手掲示板 reddit のWindows 10スレッドに「社内のうわさ」として投稿したのは:

「初期の社内テストで、非常に多くのサードパーティ製ソフトが

if(version.StartsWith("Windows 9"))
{ /* 95 and 98 */
} else {

といった判定コードを書いていたことが判明したため。(10は) 誤作動を避ける現実的な解決策だった」


発表直後の反応には「20年前のWindows 95とマーケティングやウェブ検索で紛らわしいからでは」「紛らわしいか?」という声がよくありましたが、" cranbourne " 氏の投稿は「サードパーティ製のいい加減なコードにとっては見分けがつかないから」という小咄のような説明です。

「Windows 94や99が存在しないことは分かっているのだから、完全一致するまでもなく9で始まるかどうかだけ見ればよい」という一見合理的な危険思考を戒めるニュアンスもあり、プログラマージョークの定番である「笑える失敗例かつ教訓」のテンプレ的としてできすぎている感もあります。

しかし実際に考えられるコードで検索してみると、「Windows 9」を「9X系」だと判定してしまう古いコードの実例は山のように見つかり、判定方法のサンプルとして紹介するページまで発掘できます。



真偽はともかく、いかにも「よく出来た説明」です。


蛇足:「マイクロソフト社内では8の改良にあたるWindows 9系列と、さらに先進的な10系列が平行して開発されていたが、進捗や完成度から9はお蔵入りになり10が選ばれた」との解釈も散見しますが、Windows 8以降のインサイダー情報や開発者発言、流出コードや実際の製品をみるかぎり、正式公開されたWindows 10 は、これまでWindows 9 (仮) として知られてきた Threshold (開発コードネーム)そのもの。9 (仮)が飛ばされたわけではなく、製品名として10と呼ばれることになったのは確実です。

マイクロソフトはなぜ10になったかについて公式な説明をしていませんが、「Windows 10は従来からのインクリメンタルな(漸進的な)変更ではなく、まったく新しいWindowsです」などとふわっとした広報言語の説明はあります。8から9の+1ずつインクリメントではなく新たな段階に達した感、ひとつ足りない9よりも完全な印象をあたえるから、といった理由もあるかもしれません。

名前としては9を飛ばした一方で、マイクロソフトは8から8.1に見られるように漸進的なリリース方針への切り替えを進めており、数年に一度のいわゆる「メジャーバージョン」としては10が最後になるとの説もあります。10のあとはただのWindowsとして小刻みに進化を続けてゆくか、あるいはモバイルからPCやテレビまで多くのデバイスを統一するプラットフォームとして、Xbox のようにOne に回帰しないともかぎりません。