このブログについて


C++の学習記録を残す目的で始めました。

はじめに なぜ、C++なのか

学習は基本、仮想通貨取引のWebAPIを叩くシステムを構築することを目的に進めていきます。取引所はbitbankを使います。 なぜ、C++で開発するのかというと理由は2つあります。
1つは速度の問題です。
 実を言うと、しばらく前までPythonでシステムトレードの開発をしていました。一応、Botでトレードできるところまで行ったのですが、もちろん、テクニカル分析も使っていたのですが、どうも成績が良くない。 そこで、ローソク足の分析もしようとしたのですが、これをPythonでやろうとすると速度が遅くて嫌になってしまったというのがありました。

2つめは、単純にC++を学習したかったということです。
 随分と昔に、10年以上前の話になるのですが、C言語の学習を挫折したことがありました。その時に、C++もかじろうとしたのですが、C言語を理解していない上に、C++のオブジェクト指向といった、新しい概念(当時)が頭に入るはずも無く挫折しました。

 そのあと、PerlとかRubyに出会い、一時期はRubyばかり触っていた時期がありました。
 ちなみに、本業はITとは全く関係ない職種です。
 ここ、数年はプログラミングからは離れていたのですが、昨年、Pythonで仮想通貨のBotを作り始めたところ、なんやかんやで1年ほどかかりましたが、何とかシステムトレードのBotを開発するところまでこぎ着けました。
そこで、Pythonの実行速度の問題にぶつかり、改めて、C++について調べてみると
C++11というメジャーバージョンアップが大分前にあり、現在のC++は、随分と洗練されたというか、以前のC言語の仕様を引きずった言語仕様から離れて、リッチでモダンな書き方ができるように進化している模様。
 もちろん、互換性の問題から昔のC言語べったりな書き方も出来るわけですが。

P ythonで書いたBotは最終的に行数が1000行を超えましたが、これをC言語でなくても、オブジェクト指向とか構造化とかモジュール化とか考慮していない言語で開発することを考えると寒気がします。
僕は頭の中に整理して情報をしまっておくのが特異なタイプではないので、言語仕様や開発環境の方で、その辺りを面倒見てもらわないと、すぐにコード開発に行き詰まります。

 オブジェクト指向やモジュール化、等についてはRuby、Pythonで大分慣れました。そんなわけで、今ならC++も頑張ったら学習できるんじゃないかと思ったわけです。
  随分と前置きが長くなりましたが、そんなわけでC++の勉強を始めました。


コメント