キライなところ

今までも何度かocamlに突撃しようとしては、討ち死にしていた。
なんでかなーと思うと要するに「なんか納得いかない」部分が沢山あって、しかもその理由が中々見つからないからじゃないかと思った。ので、キライなところを列挙していく。

  1. なんだよ +. って! (-., *., /.
    慣れている人はocamlのコードを「ほら美しいでしょ」って言うんだけど、僕には途中に点々がポチポチあってperl以上に汚く見える。これは型推論で矛盾を出さないためには仕方が無いのかなって部分もあるのかと思う。しかしF#では・・・
  2. なんでif/else のelse 節が省略できるんだよ!
    どうせunit型にしかできないなら意味無いじゃん、、と書きそうになって、なるほど副作用系の命令が使えるのか、と理解した。なんともpragmaticなことで・・・
  3. , とか ; とかハッキリしろよ!
    なんで違うんだよ!とtwiったら「Lispの反動なのか、括弧を省略したかったんじゃあないか」というのを教えてもらった。でも、かえって汚いよ!
  4. レコードに名前空間が無いって何だよ!衝突恐れて恐々定義しなきゃいけないじゃん
    Erlangとかでもそうなんだけど、これは正直マダマダ勉強不足過ぎて設計者の気持ちが全然サッパリ全くイマイチ判りません。
  5. let .. in を文と思えって何だよ!in って言われたら包含集合考えちゃうよ!
    すいません、これは言いがかりです。
  6. ref ってなんだよ!しかも実体は単なるmutable recordって何だよ!
    これも言いがかりかもw
  7. for とか while とかってなんだよ!
    関数型だろ関数型! いやまったく言いがかり。

他にもなんとなくキライってなところは沢山ありそうなんだけど、全部制覇するぞーという意気込みだけ。とりあえず。[逐次追加予定。克服したら◎がつく。はず]