質問者
マイクロソフトはAPIの互換性って考えてくれないのでしょうか。

全般的な情報交換
-
Windows 7でもそうですが、Windows Vista以降のバージョンでは、Windows XP時代のAPIが幾つか廃止されて、従来環境と互換性のない状況に成ってしまいました。
つまり「いままで便利に使っていたアプリがVistaやWindows 7では使えない。」ことをも意味していますので、「新しいPCにしたいけど、アプリが使えないのは嫌だから古いので我慢」という方も多いのではないでしょうか。
たとえば、私の場合だとWindows 2000でTortoiseCVSを大変重宝して使っておりますが、Windows 7 RCにインストールすると「????」なのです。
http://www.tortoisecvs.org/faq.html#vista
によりますと、「IColumnProviderが廃止になったので、Windows Vistaはサポートできない。」ということのようです。
Windows 7の製品情報では、「過去の互換性はVerturlPCで動くWinodws XPを使うことで確保」なんて、まるで議論のかみ合わない国会答弁のような茶番劇にあります。こういうのだと「Windows 7を買うと漏れなくWinodws XPが1機能としてついてくる」という解釈になり、便宜上はWindows 7の保守と同時にWinodws XPも保守してゆくことになってしまいます。
なんだか「VerturlPCで動くWinodws XP」というのは、マイクロソフトにとってもユーザーにとっても利便性の低い選択のように思えます。
また「VerturlPCで動くWinodws XP」がついてくるなら、「本物のPCで動くWinodws XP」が欲しいという声も聞こえてきそうに思えます。
私が思うところには「Winodws XPの後続版を準備して(Winodws 7との互換性は、VerturlPCで動くWinodws 7を付属させる)」とかにするか、「クラシックモードで旧APIが復活する」とかのほうが、よりよい選択ではないでしょうか。
もうWinodws XP対応のパソコン自体が、部品の対応年数を超えようとしていることでしょう。「新しいパソコンは欲しいけど互換性がないのは嫌だ」といった歯がゆい思いをしている方もおられるのではないでしょうか。- 移動 Yubo. Zhang 2012年10月1日 12:33 (移動元:Windows 7 ソフトウェア)
すべての返信
-
互換性は常に考慮されています。
ですが、MS も営利目的の企業であるため、「変更した方が自社(および Windows エコシステムに乗っかっている多数のベンダ)の益になる」と判断されれば、変更は行われます。
それははじめから分かっていることです。
API や OS の仕様変更にしても、次世代 OS がリリースされる前には積極的に情報開示が行われています。
また、アプリケーション設計を行う際の「推奨」事項もとりまとめられて、情報公開されています。
基本的に、MS が数年前から「推奨」している事項を守っていれば、OS の世代交代などに伴う変更によってうける影響は最小限で済みます。
なので、そうった事前の予告があるにも関わらず、ずるずると対応を引き延ばしているベンダ側にも責任の一端はあると思います。
「今使っているソフトをこのままずっと使いたい」という要求があるのも理解できますが、すべてをバランスして共存させるところまではまだ技術が進歩していないため、当面はそういった不都合を覚悟の上で使い続けるしかないように思います。
ただし、「不便だ」と訴えることは重要だと思います。
正当な理由を述べたうえで「不便だ」と訴えれば、同調する人も現れるでしょうし、同じような要望を持つ人の割合が増えれば MS も無視することはできなくなります。(無視し続ければ利益を失うため) -
はい、互換性は常に考慮しています。
該当の IColumnProvider についても、
http://msdn.microsoft.com/ja-jp/library/bb776147(en-us,VS.85).aspx
に説明があるようにこのインターフェース自体は廃止されていますが、Proerty System という新しい方法が用意されておりますので、それに合わせてアプリケーションを変更していただく必要が出てきているという形です。
特に、一般に販売されているソフトを開発されているソフトウェアベンダー様には、Windows Vista の時には対応を行ってもらうための十分な働き掛けができなかったために、今回の Windows 7 のタイミングではソフトウェアベンダー様への働き掛けはかなり行っており、またフリーウェアの作者にも働き掛けを行うために、Vector さんとの協業も行っています。
http://www.vector.co.jp/ir/release/2009/20090825_1.html
一方 XPMODE は、その用途をスモールビジネス向けに設定しているように、一般コンシューマーレベルの用途で使われる事は想定していません。あくまでもコンシューマーのお客様が手にされるようなソフトウェアを開発しているソフトウェアベンダーには Windows 7 対応を進めていただくというのが大前提です。
ではどのような場合に使う事を想定しているかというと、企業内で使っている業務ソフトがターゲットとなります。
このような業務ソフトはある時期に、外注で特定の業務に特化し、またその時代の OS のみを想定して作成されている事が多く、継続して新しい OS 対応のバージョンアップするというのものでもないため、新しい OS で動くように変更依頼をする場合には、業務ソフトのバグで修正を依頼しているわけではないため、別途変更費用が発生します。
そのため、多くの企業は業務体系が変化し、業務ソフトそのものに機能追加や仕様変更をする必要があるまではそれを使い続ける事が多く、変更の必要が出てきたときに初めて、その時代の OS で動作する事を想定して作成しなおされます。
業務ソフトのこのようなソフトウェアのライフサイクルから、一概に Windows 7 ですべてが動くという状態にはならない可能性があるため、Windows 7 を使いたいけれども、どうしてもこの業務ソフトが動かないと困るという企業のために用意されたものです。
XPMODE はスモールビジネス向けですが、大企業向けには 先行して MED-V というソリューションが用意されています。 動作原理としては同じです。
http://www.microsoft.com/japan/windows/enterprise/products/med-v.aspx
※MED-V 1.0 は「現在英語環境上でのみ動作が保証されています」という制限があります。次のバージョンで日本語版への対応が行われる予定です
Forum operator in Microsoft KK http://www.microsoft.com/japan/communities/msp.mspx -
フリーソフトに関しては、MFCを利用するがためにVisual C/C++ 6.0を買い込んだ方も多いかとおもいます。
それ以降のバージョンは、お小遣いで調達するには高価なものでそのままずっと同じものを使い続けている。
2005 Express Editonを少し試してみたけれど、書き溜めたコードをビルドしようにもエラーとワーニングの嵐の中うまくビルドできずに元の環境へ舞い戻ってしまう方も多いかと思います。
てなことになっている方も多いかもしれません。
tortoisecvsはSourceForgeを利用するために必要なCVSの選択肢のひとつとして存在するのですが、Explolerからバージョンとか色々と確認できるのが便利につかえた。ということだけで、windowsからのファイル更新管理の座に居座っているのです。
また、業務用のソフトウェアですと、「ベンダーが倒産してからには、代替無きにして新しいWindowsには移行できない。」なんていう話もよく耳にすることとおもいます。