作者: 機械伯爵
日時: 2002/5/6(15:52)
 ども、機械です。
 ICON講座は時々思い出して読んでるのですが、未だ感覚がつかめず・・・
 面白そうなのに、つかみ所が無く、もどかしい言語です(爆)

> while sum +:= numeric(("0" ~== read()))
> の方が、特徴が出ているかと思います。

 式の成功、失敗が値になるあたり、C言語のファイル読み取りと似てる
ような気もするのですが、失敗が即座に0にならず、比較式の値になって
しまうあたり、使い方によっては面白そうです。

 考え方が変わった言語は、慣れるまでがちと大変ですが、いろんな発見が
あって面白いです。

>  比較式が成功すると whileループは継続しますが、
>  比較式が失敗すると、numeric()も失敗し、 +:=も失敗し、
>  whileも失敗(ループ終了する)し、ループを抜ける。
> という動作をします。
> ということで、if ... then ... の構文を少なくできるケースが多いです。
> 慣れると便利です。

 文が多くなると、読みづらくなる・・・
 一文が複雑だと、読みづらくなる・・・
 文法が多いと、読みづらくなる・・・
 文法が一通りでないと、読みづらくなる・・・
 思考の流れに沿わない文は、読みづらくなる・・・

 上の条件の全てを回避することは出来ないので、どれかとトレードオフ
になるかと思うのですが、AWK,Perl,ICON,Python,Ruby,Tcl(,Lisp?,
Forth??)などなど、そういった場所でスタイルが反映されていて面白いと
思います。

 たとえば、if文が複雑に枝分かれすると、あきらかに読みにくいコード
になりますが、if文自体は誰が見てもわかるシンプルな文法ですし、根性
さえあれば素人でもフローチャートを作って理解することができる、
人間の自然な思考に近い構造でもあります。

※GOTO文となると、さすがに「すぱげってぃ」だけど・・・

 反面、特にLispなどで、ある程度なれてしまうと、常人には複雑怪奇な
式も、非常にすっきりと、まとまって見えて理解しやすい、ということも
実際ありますよね。

 十人十色だからこそ、自分の「お気に入りの言語」というのが出来てくる
とは思うのですが、言語は思考のベースでもありますので、様々な言語に触
れて、いろんな思考方法を取り入れていくのもまた面白いです。

※各人が、マイペースでコーディングが可能なのがPerlのウリなんだそうで
 すが、Pythonなんか逆だもんなぁ・・・

 つーことで、色々参考にさせていただきたいので、これからもICON版とか
よろしく☆

   機械伯爵