«前の日記(2008-02-13) 最新 次の日記(2008-02-15)» 編集

Matzにっき


2008-02-14 [長年日記]

_ デブサミ2日目

昨日が最終セッションで日帰りできず、 明日は別件で前泊が必要だったので、 今日は東京で過ごさざるをえない。

午前中、広尾で教会の用事をすませて昼食を両親と取り、 午後はデブサミへ。

特に見たいと思っているセッションがあるわけではないので 展示を中心に。

Pythonのブースでは、 柴田さんから「『たのしいみんなのPython』にサインしてください」と依頼される。 Guidoのサインの下というのもどうなんだろう。 一部で価値が出るのかもしれない。

ついでに(?)、PHPブースではPHP本にサインする。 フレンドリー。

_ [言語] PythonをDISる。

デブサミ会場で、雑談していると「PythonはDISらないんですか」と柴田さんから。 なんか自虐的じゃない?

とは言うものの、Pythonは基本的に良い言語で、 不満な点はかなり微妙だ。一般人にはどーでもいいような点だと思う。

一応リストを。

  • 式と文の区別が明確。
  • インデントベースだとeRubyのようなテンプレートが難しい
  • ブロックを含む式を持てない。Haskellみたいにブレースを使えば式にできるといいのに
  • reduceがなくなる
  • generator難しい。yieldを書くと戻り値が変化するってのはどうよ
  • list comprehensionが難しい。英語人には人気みたいだけど

list comprehensionはLINQにつながる「イヤらしさ」がある。 「俺の言語を汚すな」って感じ。

[x for x in ary if cond(x)]

ってのはわからないでもないけど、

ary.map{|x|cond(x)}

の方がすっきりしている、と思う。

もっとも、波村さんによると、 このブロックを積み重ねる方法ではJOINが書きにくいというのが LINQ導入の理由だったそうなので(Andersは最後まで抵抗したとか)、 RubyでもJOINへの要求で、そういうようなことにならないとは言えない、かもしれない。

_ Pre New Generation Chronicle:上野康平−−3次元空間を統べる若き天才プログラマー - ITmedia エンタープライズ

−− 大物ハッカーといえば?

Rubyのまつもとゆきひろさん。ハッカー理想像を実践されているところにあこがれます。技術力だけをみれば、まつもとさんより優れた方も多く存在されるかもしれませんが、日本人であそこまで自分の信念を持って行動されるハッカーってなかなかいないんじゃないかなと思いますし、自分でしっかりとしたコミュニティーを運営されていることなどもリスペクトしています。Ruby 1.9で過去の遺産をバシバシ捨てているのは素晴らしいなぁ。ああいう覚悟がC++にあれば、もう少し違っていたでしょうが。

いやあ、ほめられちゃった。 でも、そんなに信念持ってたかな。

それはそれとして、過去の遺産ってのはなかなか難しい問題で、 Rubyでもやっぱり苦しんでいる。 「バシバシ捨てて素晴らしい」っていうよりも、 ちゃんと互換性を維持する能力が足りない、ような気がする。

_ New Generation Chronicle:べにぢょ−−ギークプロトコルの解読を試みるサイバーヤンキー - ITmedia エンタープライズ

えーと...、女性から見てギークに魅力があるって話は 残念ながら他で聞いたことないなあ。 例外中の例外の話、なのかな。

あえて魅力に感じられそうな点といえば

  • 頭良さそう
  • 物知りそう
  • 収入良さそう

くらいかなあ。一方、

  • 自分を大切にしてくれなそう
  • 人間味が薄そう

とかのネガティブ要因もあるし。

まあ、どっちにしても個人に帰属する要因が大きいので、 ギークだからどうこうということは必ずしもないだろう。

根っからのオタクの私だって、結婚して子供までいるわけだし。 弾さんもそうだ。

もっとも、女房子供以外からモテたためしがないのだが。

本日のツッコミ(全11件) [ツッコミを入れる]
_ kwatch (2008-02-18 09:01)

>インデントベースだとeRubyのようなテンプレートが難しい<br>実はそうでもないです。pyTenjinはPythonでeRubyと同じことをしてます。<br>http://www.kuwata-lab.com/tenjin/pytenjin-users-guide.html<br>要は工夫次第ということです。

_ かくたに (2008-02-18 09:39)

>女性から見てギークに魅力があるって話は残念ながら他で聞いたことないなあ。<br>「おたく男は乙女におすすめ」とか……<br>http://cruel.org/freeware/geek.html

_ 機械伯爵 (2008-02-18 12:54)

 つまんないコトだけど、<br>「デブサミ2日目」の柴田さんの本って「みんPy(みんなのPython)」じゃないのかな?

_ まつもと (2008-02-18 13:29)

> kwatchさん<br>Makoもそうですが、end明示するのは「工夫」とは言えないのでは。

_ kwatch (2008-02-18 18:10)

>end明示するのは「工夫」とは言えないのでは。<br>工夫というよりは「必然」です。<br>eRubyのようなテキスト埋め込みツールでは、Pythonのようなインデント方式は使えません。<br>またeRubyのようにテキスト汎用である場合、繰り返しや条件分岐では「範囲」を指定する必要があります。<br>そのため、「end」あるいは別の方法で範囲の終わりを指定することは必須であり、省略できません。<br>これは言語を問わず、いえることです。<br><br>言いたいことは何かというと、Pythonのインデント方式はたしかにeRuby (だけでなくコードの自動生成一般) と相性が悪いように見えますが、「end」の追加程度で済むなら大きな欠点とはならないのでは、ということです。

_ Wittmann (2008-02-18 18:49)

[x for x in ary if cond(x)]と<br>ary.map{|x|cond(x)}じゃ結果が違う。<br>rubyのサンプルの方が処理が少ないから<br>すっきりしていて当然だと思う。

_ 774 (2008-02-18 19:00)

ary.select{|x|cond(x)} だね

_ hogehoge (2008-02-18 19:33)

def hoge(x):<br> dlist = []<br> for i in range(x):<br> dlist.append(i)<br> return dlist<br><br>↑が↓で済む<br><br>def hoge(x):<br> for i in range(x):<br> yield i<br><br>で、こうする<br><br>for i in hoge(5):<br> print i,<br><br>0 1 2 3 4<br><br>コメント汚しごめんなさい。

_ うま (2008-02-18 23:01)

> 弾さんもそうだ<br>ごめん、腹かかえて笑った

_ oo (2008-02-19 10:20)

list comprehensionがLINQ風かどうかはともかく、オブジェクト指向風じゃないことは確かです。

_ 元職業プログラマ (2008-02-19 19:03)

ary.map{|x|cond(x)}<br>はHaskellだと、<br>filter cond ary<br>ではないでしょうか?

お名前:
E-mail:
コメント:
[]

«前の日記(2008-02-13) 最新 次の日記(2008-02-15)» 編集

track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.