MySQLのソースコード解析を始める

MySQLソースコード解析をはじめた。
MySQLは基本的にC言語と見せかけて、結構C++だ。

しかし、全体の構造的に良く出来ているなあとおもった。
その反面、今まで追ってきた、EclipseNetBeansなどJavaでかかれたプロダクトに比べて、結構ソースコードに冗長性がある。


その理由は、やはり、ポインタの存在だろう。
ポインタがあるせいで、結構、変数で同義語(同じものをさす)ものが散在していて、どれを使ったら将来的に良いのか結構なやんだりする。


Javaが、ポインタをなくしたことによって、賛否両論はあったが、このように、追いやすいソースコードを書く上でかなり良い効果が出ていると思う。
理由としては、そうい意味的に冗長なポインタが散在しないことと、もうひとつ、デバッガで追いやすいというのがその理由だ。

Javaでは、すべてがObjectなので、RUNTIMEのクラス型を持っているが、CやC++では持っていないから、ほとんどバイト列だったりする。


やはり、CやC++ソースコードを追うのは結構難しいが、慣れとは恐ろしいもので、結構すらすら読めたりする。絶対、2年前の僕では読めていないと思う。
本当に、慣れとはおそろしい。