読者です 読者をやめる 読者になる 読者になる

計算と記述の順序

Java には計算の記述に次のようなスタイルがありますよね.

y = fn(…(f1(f0(x)))…);
y = x.f0().f1().….fn();

プログラムの計算順序をメソッド名のトークンの順序と関連付けて考えると, 上は逆向き, 下は同じ向きになっていると思います.
左から右に流れる自然言語に親しんでいる身としては, 上は読みにくかったので, 下のような記述ができる言語を非常に気に入っていたんですけれど, 問題があって, このスタイルの選択はメソッドを定義する側にしか選べないということです. つまり, スタイルの異なるライブラリを持ってきて同時に使ったりすると, 同じ文で右から左に行ったり, 左から右に行ったりということが起きて非常に読みにくい, ということがしばしば発生してしまうわけです. 分ければいいとか言う人もいるかと思いますけど, それは浅い考えで, 意味的な区切りとは別の制約で切る場所を自由に選べなくなるというのは, やはり読みにくくなってしまう可能性があるように思います.
人間総プログラマを目指すなら, そういう細かいところまで配慮の行き届いた言語があるといいのでしょうけれど, なかなかそこまで考慮するのは難しいかと思います. とりあえず, Haskell のセクションとかバッククォートとかを入れてくれれば….