プログラムも左から右に流れて欲しい。

http://trackback.blogsys.jp/livedoor/dankogai/51232857

a = a + 1は私もプログラムに触れた初めのころ引っかかりました。義務教育の数学をあたりを前提にすると、この等式矛盾してますよね。
コメント欄を見ると、

An = An-1 + 1
という数式で考えることができるので、まともに数学を習った人ならつっかかるというのが納得がいかないです。

という主張の方もいらっしゃいますが、例えば、a[n] = a[n-1] + 1;と書いてあるならばそのように類推しそうですがa = a + 1;ですので、プログラミング初めた頃にこれをおかしいと感じた自分の感覚は今振り返ってみても妥当だと思います。その後すぐに代入について人に教えてもらい、プログラムの世界ではそうなんだなと理解はしましたが。

これについては違和感を感じない方もいらっしゃるようで、

そういうわけで、私は「a = a + 1;」に対しては何のつっかかりも違和感も感じないのですが、むしろ、
数学では「なんとかなのに」という言い方で数学とプログラミングが何か関係あるような言い回しには違和感を感じます。

プログラミングは数学ではない

とのことです。

c/c++を趣味&仕事で使って数年(十数年?)になりますが、いまだに私は違和感があります。そうは言ってられないのでそのまま使っていますが、実は最近になってまさにこの事を考えていて自分としては非常にタイムリ−だったのでした。
特にprologやozの本を少し読んでいたのもあり、cの文法について「何で代入されるものを左側に書くのか、右じゃダメなのか」という疑問がわき、ruby等のドット対記法が自分には読みやすい気がしていて「何で関数呼び出しは右側(というか括弧の内側)が先なのか、左から処理するような書き方はダメなのか」という疑問もわいていました。
で、この二つの疑問について共通しいてるのは、左から右に向かって因果関係が進んで欲しい、あるいは、左から右に向かって入出力が進んで欲しい、あるいは、左から始まって右で終わってほしい、というような願望で日本語横書きを左から右に読むのになれているからという通りとでしょう(日本語の文章が左から右に因果関係が連なるとは限りませんが)。…と書いていて、そういえばそんなようなことをまつもとゆきひろさんも書いてたのを読んだことあったなと思い出しました(元ネタみつからず)。
ooplの場合ドットを使って左から右に書けたりするものもありますが、cの関数呼び出しについても左から右にかけるようにできたらどんな感じに見えるのか興味がありますね。haskellの$演算子のような書き方を使うと実現できそうですがどうなんでしょう。