Javaはマネージプログラミング言語と見なすことができますか?


8

気になります; Javaをマネージ言語と呼ぶことができますか?アンマネージコードとマネージコード(たとえば、ネイティブvc ++からC#へ)に関しては、主にMicrosoftモデルについて考えています。高水準言語としてのC#とJavaの類似点を踏まえて、Javaもマネージ言語と呼ぶのは正しいですか?


4
「管理された言語」を定義してください。「管理された言語」とは何かを正確に定義せずにこの質問に答えることは不可能です。
イェルクWミッターク

回答:


21

はい。JavaはJVMによって適切にサンドボックス化されているため、マネージプログラミング言語と見なされています。ただし、「マネージコード」という用語はマイクロソフト固有のものです。


1
@ S.Lott Monoも、Windows以外のプラットフォームでこの用語を使用しています。いいえ、「Windowsのみ」ではありません。
Konrad Rudolph

4
@ S.Lottマイクロソフトは「マネージコード」を特定の実装(IL、CLR)に結び付けるのではなく、包括的な用語として使用していると思います。しかし、私は間違っているかもしれません。私にとって「マネージド」とは、ポインタアクセスのチェックなどに依存しているため、コードの実行が「安全」であることを単に意味します。その定義により、JVM実行もマネージされます。
Konrad Rudolph

2
@Konrad:私は同意します-「管理された」は技術的な用語よりもマーケティング用語です。ただし、もう少し詳しく説明します。プログラマーとプログラミングプロジェクトは、ほとんど管理できないと考えられています。本当の目的は、Microsoftの「管理対象」(コードなど)を使用すると、どちらもより管理しやすくなることを暗示することです。そしてついでに、マネージャーもプロジェクトのより重要な部分になります。要するに、マイクロソフトはプログラマーにではなく、お金を管理する人々に直接マーケティングを行っており、マネージャーにマイクロソフトから購入するよう説得することを期待しています。
ジェリーコフィン

1
その観点から言えば、そうです、Javaも同様です。どちらも、プログラマーは無能で信頼できないため、「制御」する必要があるという立場を取ります。どちらも基本的に、「管理」を力ずくで実行することと定義しています。誰かにうまくやるように説得するのではなく、管理されているものはできる限り間違っていると想定しているため、「管理者」は自分が行ったすべてのことを確認する必要があります。 「間違った」と定義されています。要するに、どちらも最悪のマネージャーの根本的な本能にアピールすることを目的としています。
ジェリーコフィン

7
Javaも.Netも、開発者側の無能を前提とせず、メモリ管理を抽象化するだけです。マネージコードという用語は、自動メモリ管理、つまりガベージコレクションから来ています。マーケティング用語ではありません(「.Net」はマーケティング用語です)。
スティーブ

9

はい。管理された言語は、独自のコンテナで実行される言語です。

Javaはマネージ言語です。JVMがあり、.NETにはCLRがあるからです。

「マネージコード」という用語はMicrosoft固有のもののようです。次のウィキペディアの記事をご覧ください。


3
「マネージド」の定義は、実際にはガベージコレクターの存在に依存するとは思いません。
Konrad Rudolph

2
@Konrad:私は私の答えを更新しました。
ケビン

この回答の最後の段落は、他の2つと矛盾しているようです。ウィキペディアの記事は、単なるVMではなく、CLR VMに関連する「管理対象」についてかなり具体的です
Ben Aaronson
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.