2011-12-13 18 views
-3

速度以外に、それぞれの利点/相違点は何ですか?つまり、アセンブリがc/C++以上のことを行うことができるか、またはPythonが提供しないJavaが提供するメリット(Javaがプラットフォームに依存しないという事実を除く)ですか?高レベル言語と低レベル言語?

+0

「最高のツールを最大限に活用する」ために「最善のツールを作る」ために使用するもののような低レベルの言語を見て、高レベルの言語「機械同等物」(http://en.wikipedia.org/wiki/Turing_machine)と同様に「同等の力」を持っています。あなたの人生を容易にするかどうかは別の問題です。 – sarnold

+0

@Sarnold私は彼/彼女は構文とデータ構造がそれぞれどのように異なるかの利点を見出そうとしていたと思います。たとえば、Pythonにはタプルと辞書がありますが、javaではそうではありません。 – nmagerko

+0

@nmagerko:Javaでは、辞書に入るのに100倍以上の時間を要するだけです。 :) – sarnold

答えて

0

通常、上位レベルのプログラミング言語は、プログラマがより抽象的になり、一般的には細かい制御を犠牲にしてより少ない労力で実行できることを意味します。

例えば、アセンブリでGUIをプログラミングすることは自殺につながります。一方、デバイス依存の最適化と機能を利用する場合は、マシンコードである必要があります。低レベルの言語を低レベルのタスクに使用されるものとして定義することができます。ドライバー、オペレーティングシステム、およびパーサーが含まれます。もちろん、定義はむしろあいまいです。

+0

_Suicide_または[名声と運命への道](http://en.wikipedia.org/wiki/Demoscene)。 – sarnold

+0

さて、デモは非対話的です:P –

0

PythonとJavaの間の具体的な答えはありませんが、一般的にここに私の考えがあります。これはほぼ哲学的な質問です(プログラマのスタックエクスチェンジグループ)ので、神のような答えはありません。ここでは:

(低レベルの言語に近いほど)、システムハードウェアとコアオペレーティングシステムに近づく傾向があります...リソースはより明示的に操作可能です...これは効率的なプログラミングを可能にしますあなたのロジックを合理化し、必要のない束縛されていないものを取り除き、完璧なコードを開発することができます...

上位レベルの言語抽象化を提供し、システムのより複雑な要件に焦点を当てるために、開発者を1と0の心配から遠ざけます。私たちは人間のコミュニケーションと思考の意味に近いものを考えることができます。プログラマーが一般的なランタイムにコンパイルされた高水準言語で作業するときに、クロスプラットフォームの作業を共有することもできます。他にもたくさんの理由がありますが、あなたは要点を得ることができます。

は最終的に私は、ほぼすべてのプログラミング言語は[チューリングある

関連する問題