2011-11-17 6 views
10

それは戦いではありません。私はフレームワークのコンセプトが好奇心で、私は様々なレベルでdjango、zend、rails、cakephpのようなフレームワークを使って作業しました。.NETがフレームワークであり、Javaが言語である理由

今日、私の友人が.NETをフレームワークとしてリストしたプレゼンテーションを送ってくれました。私は.NETフレームワークについて議論しましたが、私はそれの背後にある基本的なコンセプトを知っています。 .NETテクノロジは、それがフレームワークだと言うのは公正だと思われます。

しかし、それは私を打つ?なぜJavaは言語であり、.NETはフレームワークなのですが、もっと読むと混乱しています。Javaと.NETの両方にSDKがあります。それは.NETが複数のプログラミング言語をサポートしているからですか?私がここで欠けている大きな違いは何ですか?

+0

Javaが言語であることは事実です。だからC#。 VBも。多くの人の中には、多くの人がいる。 – delnan

+0

これは実際に私が以前考えなかった本当に興味深い質問です。フレームワークと言語との間にはどこに線を引いていますか? –

答えて

22

Javaは言語とフレームワークの両方であり、共に結びついていて、1つの名前が与えられています。

.NETはそれを使用する多くの言語(C#、VB.NET、F#など)を持つプラットフォームです。

違いはネーミングとセマンティクスの違いです。

+7

Javaフレームワーク/クラスライブラリは、Java以外の言語でも使用できます。 (JVMのために書かれた多くの言語があります) –

+0

@KirkWoll - 公正な点。 – Oded

+1

+1 Javaはフレームワークと言語です。ありがとう、私はこれを知りませんでした(Javaはプログラミング言語としてしかないと思っています)そして、どのようにしてフレームワークとプラットフォームを(S/Wエンジニアリングに関して)区別することができますか? – Praveen

2

C#、VB、J#などはVisual Studioの言語です。 .NETは、バットから抜け出す豊富な機能を提供するコードのフレームワークです。

4

JavaがJVMにあるのは、C#が.NETにあるからです。 Sunが仮想マシンの名前を「Java仮想マシン」と名づけたのは残念です。なぜなら、実際のJavaプログラムではそれがますます少なくなっているからです。 JVMとプラットフォームを構成する標準クラスライブラリのセットです。 Javaは単にのプログラミング言語です。たとえばとき:.NETは、F#の、最新のVBを持っているように、それはあなたのコードの周りの機能を提供するため、

+4

いいえ、JavaはJVMにあります.C#はCLRにあるからです。 CLRは ".NET"と同じものではありません。 –

+0

仮想マシンはCLRであり、.NETではなく、問題はそれです "。NET "はVMとプラットフォーム全体の名前(それに伴うWindows開発空間全体の哲学の変化)を明示的に表したものであり、" Java "は主にプログラミング言語の名前であったため、 –

+0

twitterは "a"のJVMでscalaを使用していますか? – Jonathan

4
  • .NETフレームワークであるなど、そのようなGroovy、Scalaの、JRubyの、Clojureのなどなど競合他社を持っていますWebフォームを実行すると、httpリクエストの受信からhtmlの作成までのすべてをコーディングする必要はありません。これはWebサービスとWebフォームでも同じですが、コードの周りにあります。

  • Java(Javaだけ)には言語だけしかありません。プログラムをコンパイルすることはできますが、Java EEを使用する場合はソフトウェアライフタイム(デスクトップまたはc/s)のすべてを処理する必要がありますまたはSwingを選択すると、フレームワークが作成されます。

混乱は、彼らの両方が(日以上のMSを)自分のフレームワークを課すという事実からなので、(あなたがそれらを分割し、何か他のものを使用することができたとしても)カップルの言語フレームワークは本当に強いです。しかし彼らは、夫婦の別の部分、MSのためのフレームワーク、Sunのための言語を推進しています。

関連する問題