MQL5におけるOOPに関する質問 - ページ 24

 
Alexey Volchanskiy:

シャープは2000年頃に誕生して黎明期でしたが、プラスが支配していたので、普及のためにC++からdotnetへの橋渡しをしました。 ちなみにシャープはDelphiとC++Builderの開発者が作ったのですが、当時は共通コンセプトが多いことにとても驚きましたね。同じ性質、事象を取る。

彼らは人々を自分たちのプラットフォーム/Netに誘い込んだだけでなく、.Netのためにすべての異なる言語のシンタックスを 与えました。

 
Igor Makanu:

シャープはマイクロソフトのプロジェクトとしてはかなり成功した部類に入る。/Netプラットフォームに人を呼び込んだだけでなく、.Netのために多様な言語構文を すべて与えた。

しかし、私はそれに魅力を感じない。便利でシンプルだが、プラスアルファのドライブ感に欠ける。鉄から遠ざかるんですね。
 

フォーラムを検索したところ、@fxsaber さんが多くの例を投稿してくれたおかげで

最後の例にマジックを追加 ))))手書きで書くのは面倒くさい、見たかったコンセプトが見えてきた。

interface IStrategy
  {  void Algorithm()                 {Print("Это не должно запускаться!!!"); } };
//+------------------------------------------------------------------+
class CStrategy : public IStrategy
  {
protected:
   int               x;
  };
//+------------------------------------------------------------------+
#define  CLASS(NAME) class NAME: public CStrategy{\
public:              NAME()   {Print(__FUNCTION__);  x = 01;    }\
void              Algorithm() {Print(__FUNCTION__, ", x = ", x);} };
//+------------------------------------------------------------------+

CLASS( CStrategy_01 );
CLASS( CStrategy_02 );

//+------------------------------------------------------------------+
class Context
  {
private:
   IStrategy         *s;
public:
                     Context(IStrategy *_strategy)    { Print(__FUNCTION__); s = _strategy;  }
                    ~Context()                        { delete s;                            }
   void              GetStrategy()  { s.Algorithm();                       }
  };
//+------------------------------------------------------------------+
Context c1(new CStrategy_01);
Context c2(new CStrategy_02);
//+------------------------------------------------------------------+
void OnStart()
  {
   c1.GetStrategy();
   c2.GetStrategy();
  }
//+------------------------------------------------------------------+

Vladimir Simakov:
吸い込まれない。 便利でわかりやすいのですが、プラスで得られるようなドライブ感は得られません。鉄から流れていくんですね。

私は90年代後半にペンティアムで読むのが好きだったのですが、スティックの範囲が急速に拡大し始めたとき、私は読むことさえできないことに気づきましたし、今ではWindowsでさえプロセッサ用のドライバを入れています。しかし、残念なことに、今ではすべてがこの方法で動いています。すべてバーチャル、すべて既製のビブル、すべてコンパイラの最適化によって......。一般的に、イモーは非常に効果的なコードを書くというのは幻想であり、それはコードがもともと一箇所と曲がった手を通して書かれている場合は、何も助けないことは明らかである)))

 
Alexey Volchanskiy:

そうですね、シャープの方が桁違いに楽です。しかも、スピードはほとんど同じ、それこそクリ抜きでプロが1.5倍で勝っている。

裸のループをベースにしたこのようなテストはいろいろと見ましたが、何のことはない。CLRの下にいくつのスレッドがあり(まあ、少なくとも1バイトのコードはコンパイルされなければなりませんが)、これらのものがどれだけのメモリを消費するかについては、誰もあまり考えません。

だいぶ前にcTraderをインストールしたのですが、感想としては、gが遅い・・・のままでした。.

また、一般的には、CPU命令の統一性(バイナリソフトは十分許容範囲ですが)、つまり、すべての人が実現する最小限のセットについて合意できるのに、なぜ別の抽象化層(バイトコード、仮想マシン)を作るのでしょうか?おそらく、自分たちが神であり、なくてはならない存在であるサンドボックスを作りたいという思いがあるのでしょう。ドットネットを頑なに押し通す一方で、プラスで書きたい人には難癖をつけるとは。

ZS: cli c++の話じゃないですよ、それは何か誤解がありますね。

 
Igor Makanu:

シャープはマイクロソフトのプロジェクトとしてはかなり成功した部類に入る。/Netプラットフォームに人を呼び 込んだだけでなく、.Netのために多様な言語構文を すべて与えた。

言い方を変えれば、人々はWindowsから引き離されたのです。これは主観的なものかもしれません。

ZS:統計ですが、githubのC/C++プロジェクトの数は、シャープの3倍です(17年)。

 
Vict:

ZS:統計上、githubのC/C++プロジェクトの数は、シャープの3倍です(17年目)。

主観的な評価で、プロジェクトの 質というかタスクは非常に小さいかもしれませんが...。思えば長くはない

中国やインドのプログラマーの数は、状況を測る上で重要な要素ではありません。本当に数が多すぎて、これらの国の業界動向はわかりませんし、もしかしたら彼らは今、C++に腰を据えているかもしれません。

そして、上に書いたように、C++とC#の間の移行はむしろ「痛みなし」で、Microsoftはプログラマに行ったり来たりを急がせるためにあらゆる手を尽くしました ))) 。)2017年はC++のプロジェクトが多く、2019年はC#のプロジェクトが多くなるかもしれない--わからないものですね。

ZS:非常に主観的な見積もりですが...。Pythonのプロジェクトはどのくらいあるのでしょうか?- Googleの新しい動画はすべてPythonによるプレゼンテーションのみ

 
Igor Makanu:

プロジェクトの質というか、目的が非常に小さいというか...。かんがえさせられることが多い

中国やインドからのプログラマーの数は、状況を評価する上で重要でない瞬間ではない。本当にたくさんいるのだ。これらの国の業界動向はわからないし、もしかしたら彼らは今、C++に座っているのかもしれない。

そして、上に書いたように、C++とC#の間の移行はむしろ「痛みなし」で、Microsoftはプログラマに行ったり来たりを急がせるためにあらゆる手を尽くしました ))) 。)2017年はC++のプロジェクトが多く、2019年はC#のプロジェクトが多くなるかもしれない--わからないものですね。

ZS:非常に主観的な見積もりですが...。Pythonのプロジェクトはどのくらいあるのでしょうか?- Googleの新しい動画はすべてPythonによるプレゼンテーションのみ

まあ、どの言語でもいろいろなプロジェクトがあるわけで、平均的に見れば、ある程度平均的なプロジェクトがあるはずです。ここに詳しい統計があるのですがhttps://githut.info/、14年目です。

思想的な理由だけなら、シャープは使いたくない。むしろjavaで書きたいくらいです(ありえないけど)。

GitHut - Programming Languages and GitHub
GitHut - Programming Languages and GitHub
  • githut.info
GitHub provides publicly available API to interact with its huge dataset of events and interaction with the hosted repositories. GitHub Archive takes this data a step further by aggregating and storing it for public consumption. GitHub Archive dataset is also available via Google BigQuery. The quantitative data used in GitHut is collected from...
 
Igor Makanu:

プロジェクトの質というか、目的が非常に小さいというか...。かんがえさせられることが多い

中国やインドからのプログラマーの数は、状況を評価する上で重要でない瞬間ではない。本当にたくさんいるのだ。これらの国の業界動向はわからないし、もしかしたら彼らは今、C++に座っているのかもしれない。

そして、上に書いたように、C++とC#の間の移行はむしろ「痛みなし」で、Microsoftはプログラマに行ったり来たりを急がせるためにあらゆる手を尽くしました )) ) 。)2017年はC++のプロジェクトが多く、2019年はC#のプロジェクトが多くなるかもしれない--わからないものですね。

ZS:非常に主観的な見積もりですが...。Pythonのプロジェクトはどのくらいあるのでしょうか?- 新しいgoogleのビデオは、すべてpythonのプレゼンテーションです。

2005年、ドイツの会社でしばらく働いたことがあるのですが、プロッターのGUIをC++からC#に書き換える作業をしていました。当時はチュートリアルを受けてシャープを知っただけなので、翻訳も問題なかったです。飽きたから辞めたけど、今は何も考えなくていいし、座って書き直せばいい。

Pythonの場合、このインタプリタ型で遅くて醜い言語が、なぜトップに立つことができたのか、私には不思議でなりません。

 
Igor Makanu:

主観的な見積もりで、品質というかプロジェクトのタスクは非常に小さいかもしれませんが...。

そして、上に書いたように、C++からC#への移行はむしろ「苦痛を伴わない」もので、Microsoftはプログラマに行ったり来たりを急がせるためにあらゆることをしました ))))

シャープのプラスには賛成ですが、逆に言えば、c/c++がわかれば何もできない...ということです。ヘッダーファイルだけで、シャラピストへの欲望をすべて打ち砕く。IMHO
 
Alexey Volchanskiy:

Pythonの場合、この解釈の難しい、遅れた、醜い言語が、なぜトップに立つことができたのか、私には謎です。

こんな感じだったと思います。

1.プログラマーやプログラミングの基本を熟知している人よりも、ユーザーの方が常に何倍も多い。

2.インタープリターは、ユーザーにとって理解しやすいものです。

a = 2
b = 5
c = a + b

と書いて、機械から反応があっても、何を考えているのか理解できないが、一度書いてみると、機械が自分と同じように考えていることがわかる)))

3.型やその他の不必要な知識をユーザーに負担させない、質の高いインタプリタが必要である。

4.言語の大量使用を保証するために、ソフトウェアは可能な限りオープンでアクセス可能である必要があります。

要するに、1,2,3,4 - Pythonはそれ自体で団結し、ユーザーの軍隊があれば、それに加わってライブラリをたくさん作ったプログラマーが解決すべき問題が確実に存在するのです

))))


ウラジミール・シマコフ
シャープのプラスに賛成ですが、逆にc/c++がわかると...ヘッダーファイルだけで、シャーププレイヤーへの欲望はすべて打ち砕かれます。IMHO

その通りですが、C#からC++に変換する人はいません。 C++で作成したDLをSharpに接続して使用することができますし、DLを含むC#のexe-shtickを作成するのも簡単です。

私は、自分自身でC#の世界を発見してしまったのです。)