mql5言語の特徴、微妙なニュアンスとテクニック - ページ 154

 
Roman:

バイトコードに変換されるが、Javaは独自の仮想 実行マシン(JVM)を持っている。
また、他のインタプリタを持つ言語とは異なり、厳密に型付けされた言語である。
おそらく、厳密な型付けとJVMが、命令の高速な実行とハードウェアへの伝達を可能にしているのだろう。
アメリカの取引端末がJavaで書かれているのには理由がある。シカゴのCMEグループは、Javaで書かれた端末を公式に提供している。
あるプログラマーが、「Javaのルーツは通信だ」と言っていた。
そして、通信業界では、当初からデータの処理や転送にスピードが要求されます。
そして、オラクルにはこの言語を開発するための独自のコミュニティがあります。
つまり、この言語は健在であり、Oracleコミュニティによって洗練されているのです。

ちなみに、「Quik」ブランドや「LUA」言語もアメリカ人が開発したものである。
しかし、シャギーの90年代には、ロシア連邦への売り込みに成功した。
その頃、アメリカ人はすでにLUAに将来的な発展性がないことに気づいていた。
そして、ソ連崩壊後、為替市場が形成され始めたばかりのロシア連邦に売り込むことに成功したのである。

イゴール・マカヌ

ソースコードはバイトコードにコンパイルされ、これがインタプリタとなり、与えられたPC上でバイトコードを展開すると、それが実行される仮想環境用のネイティブコードがすでに生成される、つまり、それはすでにコンパイルされたコードであるというモデルです

https://habr.com/ru/post/107585/

Javaで "java compiler or interpreter "をググれば、似たような記事があるはずです。

ありがとうございます。
基本的にはすべて承知しているのですが、ただ、JavaとMQL5でこれほど大きな差(Javaに有利な3倍)が出るとは思ってもみませんでした。

グラフィックは比較対象として最適ではないかもしれませんね。でも、そこには数学は一つしかない。

ファイル:
gravity.zip  3 kb
 
Vict:

JVMの起動時間、メモリ消費量、コンパイルにかかるスレッド数など、気になったことはないだろうか。hello worldをオンザフライでコンパイルするモンスターを走らせたら、結局、nativ.とhello worldの両方が出来上がりました。Cモンスターが持っていないことを除けば。そしてpythonについて。


大量のRAMを搭載したマルチコアの数値演算コブラを買って、「私のjava/sharp/...」と言うのはOKです。...このテストではとてもクールで、全体の負荷について黙っています。Cに追いつくことはないだろう。進歩、80年代のテトリスをシャープで書き換えて、以前と同じ速さで、しかも60コアのCPUでレースする))。

ZS:Elbrusの2スレッドが、x86命令からのトランスレーションにしか関わらないのと同じようなもの。BELAZ(ベラルーシ):小包です。

C言語とJavaが プログラミング言語のランキングで 2強と言われるのには理由がある。

ある程度は正しいかもしれませんが、それでも時代に取り残されているような気がします。
確かに、私もプログラマーになるために勉強を始めた頃、自分がいかに遅れていたかを最近になって知りました。
私は多くのことを知っているつもりでしたが、新しい神経接続が確立されたことで、自尊心が急落してしまったのです。

 
Nikolai Semko:

ありがとうございます。
基本的にはすべて承知していますが、ただ、JavaとMQL5でこれほど大きな差が出るとは思っていませんでした(Java有利が3回)。

グラフィックは比較対象として最適ではないかもしれません。しかし、そこにはたった一つの数学がある。

MQL5に何を期待してるんだ? デバイスコンテキストが取得できないから、チャート上でエミュレーションソフトを使って描画してるんだろ?



アレクセイ・ナヴォイコフ
ちなみに、シャープの場合は、直接ネイティブコードにコンパイルできるようです。 まだ試していませんが、カッコいいらしいです。

特にコメント欄のハブリを愛でるhttps://habr.com/ru/company/microsoft/blog/265889/

https://docs.microsoft.com/ru-ru/dotnet/framework/net-native/

 
Igor Makanu:

MQL5に何を期待してるんだ? デバイスコンテキストが取得できないんだろ? だから、チャート上でソフトウェアエミュレーションを使って 描画しているんだろ?


これはないと思います。

を実行する際にコンテキストがバインドされるのだと思います。

ObjectCreate(chart_id,name,OBJ_BITMAP_LABEL,subwin,0,0)
 
Nikolai Semko:

C言語とJavaが プログラミング言語のランキングで 2強なのは、それなりの理由がある。

ある面では正しいかもしれないが、時代に取り残されているような気がする。
確かに私も、プログラミングを勉強し始めた頃、自分がいかに遅れていたかを最近になって知りました。
私は多くのことを知っているつもりでしたが、新しい神経接続が確立されたことで、自尊心が急落してしまったのです。

そうかもしれませんね。フォン・シャープはマイクロソフト、そのウィンドウズ・ストア(ここでnativへのコンパイルが来る)を動かしている、結局はオシャレなんだ。群れとしてやっていく必要がある。

 
Igor Makanu:

ソースコードはバイトコードにコンパイルされ、これがインタプリタとなり、与えられたPC上でバイトコードを展開すると、それが実行される仮想環境用のネイティブコードがすでに生成される、つまり、それはすでにコンパイルされたコードであるというモデルです

https://habr.com/ru/post/107585/


Javaについて "java compiler or interpreter "でググると、似たような記事があります。

おいおい、イゴールこの記事は2010年のものだぞ。9年間でいろいろと変わりましたね。

 
Nikolai Semko:

げっ、イゴール、この記事は2010年のものだ。9年間でいろいろと変わりましたね。

誰が何と言おうと、ボーランドのコンパイラはもう見ることができないし、10年前はみんなラネットに鎮座していたのだ )))

Javaには全く興味がなかった。4pdでjavaの携帯があったときくらいかな。

しかし、その 仕組みは、.NetもJavaも同様で、実行時にプリコンパイルすることで、プラットフォームを超えてポータブルに なったということです。

 
Igor Makanu:

ボーランドのコンパイラはもう見かけなくなったし、10年前はラネットの誰もが使っていたのに ))))

原理的なことですが、私はこれまでJavaに興味を持ったことがありません。

しかし、その 仕組みは、.NetもJavaも同様で、実行時にプリコンパイルすることで、プラットフォームを超えてポータブルに なったということです。

そうですね、インタープリタやコンパイラといった概念がお互いに拡散している感じがします。
 
Nikolai Semko:

ありがとうございます。
それは承知していますが、ただ、JavaとMQL5でこれほど大きな差(Javaに有利な3倍)が出るとは思っていませんでした。

グラフィックは比較対象として最適ではないかもしれません。でも、計算が必要なんです。

は、少し誤解を招く恐れがあります。MQLのコードでは、フレームごとに非常に高価なChartChanged()関数が呼び出されます。これがなければ、Javaの利得は3倍ではなく、2倍になってしまうのです。

もしMQLのコードが同じこと(同じく8セントの重力)を、配列なしで行うなら、JavaとMQL5での速度は同等になります。


MQL5が配列アクセスに不親切であることは以前から気づいていました。配列要素への アクセスは不釣り合いなほど高価です。開発者の方にも課題はあると思います。

ファイル:
Swirl.mq5  12 kb
 

2年前に行われた、異なる言語の効果を比較した興味深い研究を発見しました。

https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/paperSLE.pdf



理由: