デバッガは必要か
極論だが。OCamlではデバッガは特に必要ない。以下理由:
- Cでデバッガが必要になるようなメモリ回りのバグはそもそも発生しない。これまず重要。
- ocamldebugは強力だが、実際使わないでも仕事が出来る。故Cristalでも使ってるのほとんど見たことない。
- Uncaught exception は Printexc.print_backtrace すればよい。
- デバッグしたいデータはまず複雑なのでデバッガでプリントしてもよく理解できないことが多い。C みたいにポインタの値がアータラコータラというデバッグはしません。
- マルチスレッドとか使うとそもそもデバッガでデバッグできるんですか?
- ユニットテストをちゃんと行って質の良い関数やモジュールを積み上げていけば、デバッガがないとどうにも判らん、ということは発生しないはずだが。
- というわけで printf デバッグでほとんどの事が出来る
デバッガがない(あるんだけどさ)言語なんか使えんという、デバッガないと使えない言語しか使ったことがないと思われる人の発言をいつかどこかで聞いたような気がしたので。もちろん同じ理由で Haskell でも必要ないと思います。
いや、まあたまに使いますよ、そうね、年に、二三回、位。