Monday, 6 January 2014

年末年始のプログラミング

年末は学生と一緒に書いてたんですが、年始からは、自分一人で。本当は学生と一緒にやった方が良いんだろうけど。

年末に壊した Cerium ですが、1/4 には直せました。 Cerium を C++ で書いたのは「まぁ、Cでもないだろう」ぐらいだったんですが、思ったより苦労したかも。

* Thread との相性
* 継承と拡張性の相性
* OO と同期機構の相性
* new のコードが巨大
* interface がない
* virtual が position independent code にならない

とか。

継承を使うと拡張性が悪くなるってな話が Java Kuche でもあったのだけど、直面してみたいとわからんものだよね。

C isa B isa A
C' isa B isa A

の時に、C を拡張すると、B も A も書きなおさないといけない。すると C' も書きなおさなとだめ。上に登って下に降りてくる感じですね。

Semaphore も、末端である C で使おうと思うと、A→B→C と伝搬させて渡さないとだめだったりするので結構楽しいです。同期機構は、一種の大域変数だから、OO的な階層の外にあるからな。

GPUは、もう少し性能出るはずですが、まぁ、だいたいは動いたからいいかな。

No comments: