for in の妄想

Railsでscaffoldすると、for in と生成されるのが、気になる。・・というところから、Javaが難しい理由がわかってしまった(?)。

大した問題じゃないんだけど...

Railsでscaffoldすると、list.rhtmlなんかで、

 <% for user in @users %>
    ・・・
 <% end %>

という具合にコードを出力する。

 <% @users.each do |user| %>
    ・・・
 <% end %>

じゃなくて。
確か for in の方がシンタックスシュガーだったと思うけど、なんでこっちを採用したんだろう。

別に言語オタクを気取るわけではないですが、妙に手が止まるというか、思考が止まるというか。「主語、述語、主語、述語」でアタマが回っているときに、for in が出てくると、フワっとへんな気持ちになる(のはオレだけか?)。

気持ち悪いから、テンプレート書き直しました。↓ココにあります。

 rails-1.2.3\lib\rails_generator\generators\
    components\scaffold\templates\list.rhtml

友人の話。

普段バリバリ大阪弁の彼は、ネイティブばりの英語を話します。
いつもバカ話でヘラヘラと愉快だけど、英語を話しているときの彼は、
男惚れするほど So Cool!

ちなみにボクも、標準語と山形弁を巧みに使い分けますが、
標準語のボクは So Cool であります。

最近いろんなプログラム言語に触れるようになり、プログラム書いてるときのアタマは、言語によって人格が変わるように感じています。
さすがに言語というだけはある。

for in なんていう「些細な言い回し」が気になるのは、最近日常会話や折衝事よりも、プログラム書いてる時間の方が圧倒的に多くなったからかも。(やばいやばい。ビョーキビョーキ。)

で、Javaだと

言葉は同じ調子で使い続けないと、違和感で思考が止まります。
例えば、上は「難しくても読める」けど、下は「思考が止まる」。

 [第一条]この法律は、中小企業による地域産業資源を活用した
    事業活動を支援することにより、地域における中小企業
    の事業活動の促進を図り、もって地域経済の活性化を
    通じて国民経済の健全な発展に寄与することを目的とする。

 [第一条]中小企業による地域産業資源を活用した
    事業活動をお手伝い、地域における中小企業
    の事業活動をぐんと進めて、そんで地域経済の活性化を
    通じて国民経済をバーンと盛り上げちゃうYo!。それがこの法律

Javaが陥ってるのは、ココなんじゃないかと。
同じ人間が同じ時に、いろんなテイストの言葉を話さないといけない。
だから「難しい」というよりも、プログラマの思考がつながらなくなってしまったのではないでしょうか。こうなると、ヤル気がでませんよね。

もちろん、ちゃんとアーキテクチャを考えて、分業すれば、
こんな状況には陥らないと、ボクは信じてます。


コメント
yuichi_katahira
2007/05/30
for in と each の違いは、スコープの違いと、速度の違い(スコープ生成コストの分)だったかと。速度は確か僅かな差なので、好みの問題なのかなと。
武田ソフト
2007/05/31
yuichi_katahiraさん、ご教示ありがとうございます。
好みといえば好みですけど、Ruby使ってると、if文ですら、
ん?っと止まっちゃうんですよ。

  True do .. end (注:こんなのないよ!)

とかが在ってもいいんじゃないかと、調べたくらいですw
匿名さん
2007/06/16
> True do .. end
SmallTalkにはありますね。ifTrueとifFalseですが。
Matzいわく「SmallTalkの文法は変態チック」らしいので(うろ覚え)、そこまでオブジェクト指向にこだわらず普通の文法を採用したみたいです。
まあ使う人のことを考えれば妥当かと。
武田ソフト
2007/06/16
#まあ使う人のことを考えれば妥当かと。
ですね。SmallTalkも一度はちゃんと勉強してみたいと思ってました。過去、Squeakに触って断念しましたけど・・。
武田ソフト
2007/06/21
匿名さん、もしまた通りかかったら、SmallTalkのおススメの学習環境、教えていただけませんか?よろしくお願いします。
匿名2
2007/06/28
上の匿名さんではないですが、ST/Xはいかがか。
http://www.smalltalk-x.de/en/home
武田ソフト
2007/06/29
匿名2さん、情報ありがとうございます。
クセがなくて使いやすそうですね。よっしゃー、という気持ちになりました。アタマがついていけるかわかりませんが・・

コメントしてください

closed.