Blizzardなどの一部の企業は、Windowsの将来のバージョンおよび新しいバージョンで引き続き正常に機能するソフトウェアを作成しています。他のソフトウェア依存関係のバージョン。他の会社(ほとんどが筋金入りのソフトウェア会社ではない会社)は、新しいOSのリリースや他のソフトウェア依存関係で壊れたソフトウェアを書くことがあります。ハードウェアソフトウェア会社は、他の会社が知らないことを何を知っていますか?上位互換性の問題の主な原因は何ですか?

コメント

  • ありますか失敗したものの例?
  • @Foscoたとえば、多くの古いゲームは、OSの変更やハードウェアの進歩が原因で、最近のコンピューターではプレイできません。
  • @Fosco 'そのようなものをたくさん見ました。特に目立つのは、Granny Xと呼ばれるイスラエルのクエストゲームで、それ以外のものでの作業を拒否しました。' t Windows 95(Windows 95 ++、別名Windows 98でも同様)。他の例としては、母が使用した古い占星術プログラム、子供向けの教育プログラムなどがあります。
  • Diabloは' t(または最近まで' t)は、vista / 7で問題なく動作しました。同様に、StarCraftでは、無効にすることなく色が盗聴されました。 7のエクスプローラシェル。

回答

Blizzardは、Windowsの将来のバージョンでうまく機能するソフトウェアを作成しましたか(たとえば、Starcraftは引き続き7で再生されます)…

または、Microsoftは、後向きのソフトウェアの「将来のバージョン」を作成しましたか?

WoWのようなものは、まだ活発に開発中であるため、正確には「前向き」ではありません。 Starcraft / Warcraft / Diabloのような他のソフトウェアは、しばらくの間作成されましたが、MSが新しいシステムで古いソフトウェアを有効にするために邪魔にならないため、引き続き機能します。

Blizzardには、機能と理由もあります。古いゲームを更新します。現在のソフトウェアを駆動する非常に人気のあるタイトル。

一部のソフトウェアは、うまく機能しないハック/非標準のパーツを使用しています。独自のセットアップ、操作に「古い」バグに依存、移植されていないドライバ新しいシステムなどへ。

コメント

  • +1(6年後…)この記事cracked.com/ … によると、Microsoftは、Windows 95を製造している間、数百人のインターンが見つけたすべてのソフトウェアを購入し、それらすべてをテストしていました。ソフトウェアが'機能しなかった場合は、機能するまでWindowsを変更しました。その理由は、ソフトウェアが'機能しなかった場合、ユーザーはXYZ Software Companyのせいではなく、Microsoftのせいにする'からです。
  • ええ… 6歳の回答から今日は+50ポイント。チャチン。そして、ええ、答えはまだ真実です-そしてそれは、WindowsがMacとLinuxの王様である理由です:後方互換性。 ' 10年前のソフトウェアがMacまたはUbuntuで動作するという確信はありません… Windowsでも動作するという合理的なレベルの自信があります。

回答

いくつかの理由:

  1. 彼らは引き続き標準に準拠しています将来のOSでサポートされる
  2. OS企業(MSなど)は、実際には古いソフトウェアをサポートするために大量のコードを投入します
  3. 大規模な人気のあるソフトウェアハウスは、公式または非公式の関係を持つ傾向がありますOS企業なので、早く物事を見ることができます。

回答

これが私の経験です:多く数年前、私が取り組んだ製品がサードパーティのプラグインのサポートを開始しました。プラグインにリクエストを送信し、返信することになっています。プラグインの最初のパラメータは、どのリクエストを行っているかを識別する番号でした。その時点では、リクエストは1つしかありませんでした。 。それでも、この番号を確認する必要があることを文書化しました。理解できない番号の場合は、「このリクエストを理解できません」という意味のエラーコードを返すだけです。簡単です。最初のバージョン私たちの側ではこれを正しく処理しました。最初のリクエスト(送信できる唯一のリクエスト)を送信するときでも、プラグインが「わからない」と応答したかどうかを確認して処理しました。

次に、2番目のリクエストを追加しました。 「このリクエストを理解していません」と応答することを期待して古いプラグインでテストしました。すべてのプラグインが最初のリクエストのアクションを実行しました。これは上位互換性がありません:-(これらのプラグインは顧客に出荷されており、新しいプラグインでクラッシュします。アプリのバージョン。

実行内容:最初のリクエストを損傷することなく実行できるコンテキストにソフトウェアを配置します。まったく異なるリクエストを送信しました。応答が「わからない」でなかった場合、それ以降、プラグインはばかによって作成され、最初に開発したもの以外の要求は行われなかったことがわかりました。

回答

「上位互換性」を保証することはできません。OSとハードウェアのメーカー次第です。最良のことはソフトウェアを作成するときにできることは、非推奨の機能や非標準のトリックを使用していないことを確認することです。

コメント

  • 非推奨の機能や非標準のトリックを使用しないと、かなりの距離になります。たとえば、Windows 3.1時代のゲーム(実際には Win 32s )であるMetal Marinesは、メインゲームウィンドウの外側にグラフィカルオブジェクトをレンダリングし、デスクトップ全体にミサイルを発射します。デバイスコンテキストを取得して直接パーティすることで、WindowsXPとWindows7でも機能します。これは、Microsoft 'の後方互換性への取り組みを通じて前方互換性を実現する素晴らしい例だと思います。 。

回答

互換性のあるソフトウェアを作成するには、より多くの労力が必要だと思います。 (=コスト)は、リリース会社が互換性を評価する価値があります。

たとえば、データベーススキーマは変更できます。自動的に移行するか(最高のユーザーエクスペリエンスを実現するため)、無視することができます(開発作業を軽減するため)。 。

回答

一部のプログラマーは、ドキュメントを読み、ドキュメントに記載されている方法でOSを使用するコードを記述します。 それらへ。他のプログラマーは、コードをより速く記述し、機能しないコードをデバッグします。

良い例は、2桁のウィンドウに対応できないコードです。バージョンナンバー; Windows 8でのテストに失敗することはありませんが、Windows10で使用すると…..

次に、できるだけ高速に作成されたゲームがあります。 、数年以内に動作するかどうか気にしないOSをバイパスする…..

各ベンダーが独自のバージョンのユニットを持っている時代に、Unixソフトウェアで動作するプログラムに傾倒したプログラマーを連れて行ってください。プログラマーは、標準を読むことに非常に慣れており、標準の内容にのみ依存します。ソフトウェアを6つの異なるバージョンのUnixで出荷する必要があるため、すぐに注意する必要があります。これを、VBで学習したプログラマーと比較してください。ここでは、機能するまでコードを変更するのが一般的です……しかし、「Unixタイプのプログラマー」を「VBタイプのプログラマー」と同じタスクに置き、多くの場合、 VBは、はるかに早く売れる結果を生み出します。

スタッフにインタビューするとき、人々は気の合う人を選ぶ傾向があるので、会社に最初の数人のスタッフがいると、新しいスタッフは考える傾向があります同じように。

回答

上位互換性がない主な理由は、不足していると思います。

コメント

  • 'いくつかの pkunk プログラマー。私はそれらをPootwormsで支払います。これは信じられないほど安いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です