2013年12月18日水曜日

C++

C++はマルチパラダイム言語ですが、
最近、再勉強をしています。

楽しいです。とりあえず、微分方程式を解くためのアルゴリズムを中心に書いていますが、本当に色々な書き方があるんだなと。

本も数冊購入しました。一冊は本当に初学者の本です。なぜなら、C++の全体のイメージを思い出すことが必要だと思ったからです。新しい発見でしたが、比較的初学者の本を読んで、ちょっと説明が違うな、と認識できるところがありました。少しは成長していたんだなと。

別の一冊はSTL中心です。STLは本当にコードが短くなるだけでなく、デバッグすべき項目を減らせるなという印象です。世の中の、どの分野で、どの程度使われているかわかりませんが・・・。加えてBoostの知識も入れておこうと思います。

最後の一冊はWindowsに特化したMFC中心の本です。
今さら感が強いですが・・・。
VC++はC++とは全然違うものというのが再認識されました・・・。

ライブラリを含めると、C++という言語はあまりにも広すぎます。
プラットフォームに依存したVC++だと別物です。

なかなか学習の仕方が難しいですが、今のところ、やりたいことは微分方程式を解くことなので、いろいろな書き方を試したいと思います。

2013年12月12日木曜日

全然書けてない・・・。

ようやく落ち着いたので、書き始めようと思います。

次の会社に向けて、C++の復習と統計の勉強を少しずつしています。

・C++について
プログラミング言語の学習は文法をマスターすることではありません。
その言語がどのような思想で設計され、与えられる課題に対して、どのようにアプローチすべきか?というような「思考方法」を学ぶことだと捉えています。

C++のようないろんな書き方がある場合、つまりは思考方法が複数あることを意味しています。そのような混沌としたような言語は非常に難しく感じます。
ただし、それが非常に面白いです。

結局、C言語の思考方法に振り返ることになってます(笑)
でもコーディングする人間が忘れてはならないことは、
「このコードが何をするために使われるか?」
だと思います。

・統計
「統計学は最・・・」とかいう本が出てますが、読んでません。
個人的には、統計学で説明できる事象とは何か?に興味があります。
特に時系列分析やスペクトル解析でしょうか。

統計学はあくまで考え方の一つであり、統計学に准ずれば正解、ということではありません。如何せん、現象論は考えていないからです。ただ、現象としては捉えられるけど、メカニズムは不明、という状況において、何らかしら定量的なアプローチをする方法としては有効であるように思います。すべての現象をニュートン力学や微分方程式で表現できる訳ではない(いや、ほとんどは出来るんですが、その場合、時空間解像度を相当確保しなければなりません)ですし、表現できたとしても、実現象を再現できるほど精度がある訳ではありません。

そういった現象と結果を結びつけたり、そのためのツールとして非常に有効な学問だと思います。平均値、相関、標準偏差とかです。

でも、中学や高校で確率の勉強が、工場の品質管理に使われるなんて想像もつきませんでした(笑)。鵜呑みにして勉強した結果、あ、そういうことか、と納得したのが大学です。

さらに言えば、水文学なんかもそうです。母数推定や関数へのフィッティング等。。。

怖いのは、ツールを使えばなんか答えがでる、ということです。
勉強していない人間がテキトーなことをして、定量的に評価することほど怖いことはありません。

統計学にはそういう恐ろしさも孕んでます。