[Ruby] Ruby

訓練のためにと思って Ruby を使ってあるプログラムを書いています。
一応専門がプログラミング言語理論とか型理論とかその辺で、Javaに慣れた身としては戸惑うことがたくさんあります。
というか動的型付け言語全般の話かもしれません。

特に慣れないのが

  • メソッドや変数に型注釈を付けない

という点。
型注釈、 Type Annotation っていうのは最大のドキュメンテーションです。
これがないコードがいかに読みにくいか。
自分の卒論は型推論の実装でしたが、そもそも型推論って理論的には面白いけど、(Type Annotation を付けないという点で)実用上そこまで意味があると思えないんですよね。

あとは、まあ Ruby ってどうなのと思うものもいくつかありまして、

  • 後置 if 読みにくい
  • unless の存在が許せない
  • 抽象クラスがない
  • メソッド内で @変数名 を使うとそれがインスタンス変数になる(クラス宣言時に最初にインスタンス変数を列挙できない)
  • private :変数名 とか attr :メソッド名 とかキモイ
  • あとやっぱり end キモイ

とか、そのへんですかね

まともに書き出してまだ1週間くらいで、まだまだ慣れない。。