ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    スポンサーサイト

    このエントリーを含むはてなブックマーク はてなブックマーク - スポンサーサイト あとで読む
    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    .NET Frameworkのバージョン選択

    このエントリーを含むはてなブックマーク はてなブックマーク - .NET Frameworkのバージョン選択 あとで読む
    Windows XPで、Intel SSD Toolboxをインストールしようとしたら、「.NET Framework3.0」以上のバージョンが必要です、というメッセージが出た。

    Javaの実行環境(JRE、Java Runtime Environment)なら、迷うことなく最新版を入れておけばとりあえずOK。
    他方、.NETの実行環境(.NET Framework)は、バージョン間の互換性を考慮しなければいけないので面倒くさい。
    Microsoftは金儲けのために、後方互換性を切り捨てる=新しい製品に買い替えろ、という方針なので仕方がない。

    ●ベストなバージョン
    現時点で、どのバージョンの.NET Frameworkを選択すれば良いのか?
    自分なりに考えてみた。
    結論から言えば、現時点では、.NET Framework3.5にしておけば無難だと思う。

    .NET Frameworkのバージョンを整理する - @IT

    .NET Frameworkの各バージョン同士の関係
     2010年4月時点でリリース済みの.NET Frameworkには、Ver.1.0/1.1/2.0/3.0/3.5/4の6種類のバージョンがある。これらは共存が可能で、1つのWindows OSに複数バージョンをインストールして同時に利用できる。



    NET Frameworkの各バージョンの関係
    各バージョンは共存可能であり、1つのWindows OSに複数のバージョンをインストールして同時に利用できる。Ver.2.0/3.0/3.5は内包関係にあるが、そのほかのバージョンはお互いに独立していて、かつ下位互換性も完全ではない。そのため原則として、個々の.NET対応アプリケーションが必要とするバージョンの.NET Frameworkをそれぞれインストールすることになる。



    Windows OSごとにインストール可能な.NET Frameworkのバージョンは異なる
     .NET FrameworkをインストールできるWindows OSはバージョンごとに異なる。またWindows OSによっては特定バージョンの.NET Frameworkが付属している場合がある(プレインストールされるかどうかはOSのインストール時の設定などに左右される)。



    ・「.NET Framework4.0」以上は、そもそもWindowsに同梱されて出荷するようになるまで、必要性がない?
    =強制的に使わせたいなら、MicrosoftがOSに入れてくるだろ?
    ・「.NET Framework4.0」が、2.0/3.0/3.5と後方互換性を完全に保っていないなら、Intel SSD Toolboxには不適切?
    =Microsoft製品は、こういうところがダメだと思う。金儲けよりもユーザーの利便性を考慮して欲しい。
    まあ、バージョンの違う.NET Frameworkは共存できるそうだから、必要だったら全部入れれば良いだけなんだけどね。そういう面倒くさい仕組みにしないことが親切というものじゃないかな?

    ●.NET Frameworkの利点
    .NET Frameworkがこういう仕組みになってしまった必然性、理由もあるのだろう。

    .net framework ってなんなのさ

    .net framework と言えば Microsoft が一生懸命旗を振っている、Java によく似たプログラミング環境とそれによって作成されたプログラムの実行環境だというイメージを持たれるのではないでしょうか。確かにそれは間違いではありませんが、Java に比べて二つの点で大きなアドバンテージがあります。

    まず一つ目は、Java がひとつの言語だけを対象とした枠組みであるのに対し、.net framework は C++/CLI、C#、VB など複数の言語に対して平等な枠組みを提供します。これによって、開発者は状況に応じた適切な言語、あるいは自分の好みにあった言語を選択しつつも、他の言語で開発されたコンポーネントを手軽に使えるようになります。

    二つ目は、プログラムの実行環境がECMA(ヨーロッパ電子計算機工業会)によって ECMA-335 (共通 言語基盤;CLI) として標準化されている点であり、これを追認する形で ISO や JIS としても標準化されている点です。従って、.net framework は CLI に準拠したプログラム実行環境の実装を核とした、プログラミングおよびソフトウェア実行に関する枠組み(framework)の一つであると言えます。従って、他の OS による CLI の実装も存在し、CLI にさえ対応していれば Windows で開発したソフトを他の OS で実行することも可能です。実際、Linux では mono や dotgnu といった CLI の実装系が存在します。



    ・多言語に対応している。
    ・仕様がECMAで標準化されている。

    Windowsなんてどれも一緒でしょ?と言う人と.NET Framework 3.0 - むぅもぉ.jp

    問題はどこにあるのか。
    •.NET Framework 3.0を動かせないWindows 2000
    •Windows 2000で動かない.NET Framework 3.0
    •そんなWindows 2000を使う人
    •そんな.NET Framework 3.0を使う開発者
    •そんなWindows 2000や.NET Framework 3.0を作ったMicrosoft



    ところで、よく「古いやつの方が古い環境でも新しい環境でもまんべんなく動く」として、いまだに.NET Framework 1.1を使おうとする人がいますが、あれば危ないと思ってます。

    だって、.NET Framework 1.1ってことは、Visual Studio .NET 2003で作るってことですよね?それVistaで動かないよ?数年後、コードを直したくなったらどうすんの?そこまで考えて何か対策を取った上で.NET 1.1を使うなら別に良いけど、この部分を何も考えてない人が結構いる。この点だけ言えば、VB6の方がまだマシ。



    IT土方御用達のMS製品だが、ゴミアプリ製造に終始しないよう、頑張っていただきたい。
    好きな言語でプログラミングして、クロスプロットフォームに対応したバイナリを吐くクロスコンパイラがあれば良い。
    その点で、.NET Frameworkは、Microsoftの金儲けの意向を除去すれば、良い仕組みになるのではないか?

    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/772-988bdddb

    FC2Ad

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。