>53
「それほどでもない」が、どっちの意味なのかは判らんけど

●値を返すだけの関数がズラズラ並ぶ、と呼ぶほどのものでも無い
例えば「要素が100万個あるリストの最初をxに変更する関数」を副作用なしで書くと
「要素が100万個あるリストを受け取り、その最初がxになってるリストを返す関数」
となるワケ。ちょっと考え方は違うけど、似たようなことは出来るんだよ。

ぶっちゃけた話、そのプログラムで扱うデータを全部構造体に纏めて
それを毎回引数に渡して戻り値も構造体丸ごと戻す、なんてことをすれば
事実上副作用があるのと変わらないコードも一応は書けるw

でも「プログラミング言語の環境を作る側の人間」にとっては
そんなに無茶せずとも、必然的にでかいデータの受け渡しをするような言語を
素直に実装しちゃうともの凄く重いから、色々と工夫して実装しなきゃならなくなるわな。


●それほどセンスが求められるものでも無い
手続き型言語は文字通り、コンピュータにさせたい手順を書く。
関数型はコンピュータに尋ねたいことと、定義を書く…って感じかな?

定義のはっきりしているものは、それをそのまま書くだけだから難しくはない。
むしろ、何でも手順に起こす手続き型のほうがセンスが要ることになる。
だが逆もしかり。手順が判っているなら手続き型のほうが当然楽。

結局、求められるセンスが若干違うのであって、どちらも同じくらいセンスは要るんじゃないかと思う。
俺は手続き型と関数型なら比較的理解できるが、アセンブリと論理型は何度やっても理解できない。
でも、アセンブリや論理型が一番簡単って言う人も居る。合うんだろうな、その人達には。