Ruby : Haskell = Python : OCaml

Dave Thomasのプレゼンより - Greenbear Diary

犬好きと猫好きがいるように、Ruby 好きと Python 好き、Haskell 好きと OCaml 好きがいる。そして、RubyHaskellPythonOCaml が好きな人は多いが両方が好きな人はめったにいない

なるほどなあ。以前から感じていた OCaml の不満が明確になった気分。

でも具体的に OCaml の不満を考えると、僕の場合はそこまで関係ない気もする?

  • 文法がださい。優先順位は変だし、in はどこに書いてもおさまりが悪いし、match 文の中に match を書くと汚くなるし。
  • 文字列処理が弱い。C での文字列処理と同じくらいストレスたまる。
  • print : 'a -> unit がない (致命傷の一つ) 。
  • 標準関数やライブラリの選定基準がよくわからない。ocamlc を書くのに便利な関数が多く採用されているに違いない。
  • オブジェクト指向いらない。
  • マニュアルや参考文書の日本語訳が直訳すぎて読みにくい *1これは Haskell もか。

それでも、今まで書いたプログラムでちょっと大きめのものは大抵 OCaml なんだよなあ。なんでだろう。

*1:しれっと言う。ocaml.jp の管理人助けて〜。