12/02/11 01:57:19.38
>>576
3つに分けて返答するよ
[二分岐(>>555,558)]
・すでに指摘されているけど、Pythonのif式の構文は特異/異常なもの
自分の知る限り、<then> if <cond> else <false> という
構文を採用しているのはPythonだけ
・直感的に、Pythonの構文はフローチャートやPAD等の分岐図と一致しない
特にこのような分岐がネストする場合には、それが顕著になる
コード全体の構造を見れば、Pythonだけが異質なのは明白
[多分岐(>>561,562)]
・Pyhtonには多分岐式が存在しないため、ハッシュを用いた
「トリッキー」なコードを書かなければならない
・もちろんRubyでもハッシュによる同様なコードを書けるが、
・ハッシュを使わなければ書けないPythonと
・ハッシュを使っても使わなくても書けるRubyとの間には
表現力に雲泥の差があるのは明白
[局所宣言(>>565,566)]
・Ruby/ML/Haskellの間には
それぞれメソッドチェーン/高階関数/リスト内包表記という差異はあるが、
それ以外の全体的なコード構造に関しては類似性がある
・異質なコードはPythonだけであり、
これはPythonに局所宣言(ブロック/let式/where節)が存在しないことに起因する
これらから「Pythonは関数型プログラミングには適さない言語である」という
結論に至った