Wednesday 27 March 2013

学生のプログラミング

まぁ、教えるのが商売なので。

Haskell っぽく Java を書いている学生がいたので「だったら、Haskell で書けよ」と書き始める。Java で1500行なのが300行ぐらいで書けるものだけど、本当にそうなるかどうかは。でも、最近の Haskell は Monad ばかりで、関数型言語っぽくない。戻り値をチェックして成功したかどうか調べるとか。別にそれがいけないというわけでもないんだけど。

Java の方では、学生の書いたベンチマーク用のプログラムを見たら、これじゃぁ、フレームワークの性能を見る前にコピーし過ぎ。Java で文字列の動的な結合を多用するのはダメなんだってば。あーぁ、コピペして部分修正とかするから、間違い探しゲームになってるし。

というわけで、そここから、

* ばっさり消しまくる

ということに。だいたい修正してから「じゃぁ、あとはコンパイルして動かしてね」。一発で動くわけでもなく。でも、

* いちいち、どうすればよいか聞きに来るのは禁止

自分で考えろよ〜

まぁ、そんな風にして育っていくものさ。

今回は VNC の調子が悪くて、45inch Display に Eclipse を映して「じゃぁ、そこからここまで選択して、extract class 」とかやってました。でも、それは間違いで、後始末が大変だった。extract interface にするべきだったらしい。一種の pair programming ですね。

No comments: