誰かがこれらの違いを説明できますか? プログラムがプラットフォームに依存しない場合、移植性も高くなりませんか?
1 に答える
プラットフォームに依存しないということは、これらのプログラムが「ほぼ」すべてのオペレーティング システムで実行できることを意味します。すべてである必要はありませんが、少なくとも MS、Linux、および Mac でこの単語を使用しても問題ありません。
そして、「プラットフォーム非依存」という言葉の背後にある事実を掘り下げてみましょう。
注: 以下の文章は私の意見です。誰かが読んだり、背後にあるロジックを理解できなかったり、気に入らない場合は、ボタンCTRL+Wを押して閉じることができます。Java プログラマーがこの文に直面すると、ひどく腹を立てるので、私はこれらを書き留めました。しかし、議論の余地は常にあります。確認してください: http://en.wikipedia.org/wiki/Platform-independent_model
トピックを壊して引き返さないでください。
実際には論理的に、プラットフォーム インストーラーを必要とするプログラムは、プラットフォームに依存しないと見なすことはできません。たとえば、 Java ランタイム パッケージ サービスなどをダウンロードしてインストールしないと、Java 実行可能ファイルを実行できない場合は、プラットフォームに依存しないと言えます。つまり、Windows 実行可能ファイルのほぼ 80% は、仮想マシンや Linux 上の WINE などで実行できるため、プラットフォームに依存しません。Java がプラットフォームに依存しない場合、PHP、ASP、Perl、Python、Ruby なども同様です。 . すべてのスクリプト言語もプラットフォームに依存しない!? ああ、そうではありません... ロジックが理解できたことを願っています。
しかし、私たちにできることは、(独自の) ソフトウェアをさまざまな OS 用にコンパイルできることです。したがって、私たちのソフトウェアは「クロスプラットフォーム」になります
実際にプラットフォームに依存しないのは (上に書いたように、私の意見です) コンパイルされていないアセンブリ、C などのコード...
そして、ポータブルに関しては、これは別のものです。たとえば、「Windows」オペレーティング システムの下にある「ポータブル ソフトウェア」という言葉は、次のことを意味します。
- ファイルまたは設定にレジストリまたは Appdata フォルダーを使用しません。
- 独自のフォルダーの下で動作し、必要なすべてのファイルは独自のフォルダーの下にあります。
- また、独自のフォルダーの下のファイル (ini など) に設定を保存します。
さらに言えば、特定のハードウェア/ソフトウェア ブランド、モデル、または異常なモード (「x」ブランドのスクリーン カード、「y」解像度、DirectX の「z」リリースなど) に依存してはなりません。しかし、実際には、この基準はまだ成熟しておらず、すべての人に受け入れられていないため、最後の詳細を無視することができます.