Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Matzにっき(2008-02-14)
[go: Go Back, main page]

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

Matzにっき

<< 2008/02/ 1 1. 「ハッカーと画家」の著者が新しいLisp系言語「Arc」を公開 | エンタープライズ | マイコミジャーナル
2. 「セキュリティ、なめんなよ!」 なめねこも一緒に情報セキュリティ強化宣言 | ネット | マイコミジャーナル
3. 「サイオステクノロジーはグルージェントの未来技術に期待し子会社化」:ITpro
2 1. Nimble Method: Garbage Collection is Why Ruby on Rails is Slow: Patches to Improve Performance 5x; Memory Profiling
2. LuaJIT roadmap 2008
3. What will Matz do?
4. EURUKO 2008 − European Ruby Conference, Prague, March 29th − 30th
3 1. 末娘の成長
2. ゴードン・B・ヒンクレー葬儀および埋葬
4 1. 初心者向けの言語
2. ソフトウェア開発における初心者
3. Linux 2.6.24 on Thinkpad X61
5 1. Copy-on-write friendly patch for Ruby 1.9
2. セキュリティキャンプ・キャラバン with プログラミング -鳥取-
3. 最もタメになる「初心者用言語」まとめ - UK is not Britonish - ハチロク世代
4. Ruby.NET is dead | Zen and the Art of Ruby Programming
5. 立ち位置と情熱とバランス感覚:ITpro
6 1. 思わずうっかりついポロリ!これがエンジニアの失言だ/Tech総研
2. Ruby Waves: Home
3. Static Languages: Rationalizations and Myths :: Steve Vinoski’s Blog
4. バランスボール
7 1. microBlog >> Bounties for bug fixers: a bug-tracker plugin
2. Years of irrelevance - (37signals)
8 1. 米子工業高校 情報電子実習
2. たこ焼きパーティ
3. Garbage-first garbage collection
4. Bigtableオープンソース実装2題
9 1. Beautiful Code + 日経Linux
2. use Perl | Perl is now Y2038 safe
3. CPython用拡張モジュールをIronPythonから呼び出す (1) 「CPython Extensions for IronPython」とは? | マイコミジャーナル
4. プログラミング言語の進化を追え: 第1回 サルでも分かるプログラミング言語の新潮流(前篇)
10 1. 福千年
11 1. Life is beautiful: 原点に戻って徹底的に納得するまで理解する
2. スケート
3. SEDA - Architecture for Highly-Concurrent Server Applications
12 1. 取材
2. nishimotzの日記 - Rubyのチカラ
13 1. デブサミ2008 1日め (ディープな1日)
14 1. デブサミ2日目
2. PythonをDISる。
3. Pre New Generation Chronicle:上野康平−−3次元空間を統べる若き天才プログラマー - ITmedia エンタープライズ
4. New Generation Chronicle:べにぢょ−−ギークプロトコルの解読を試みるサイバーヤンキー - ITmedia エンタープライズ
15 1. 米澤先生講義
2. 京都 - jkondoの日記
3. 「島根県CMS」のオープンソースとしての公開について
16 1. io - Objective-C Syntax
2. InfoQ: John McCarthy on Elephant 2000, Lisp, Ruby and the Computer Industry
17 1. 風邪引き
18 1. 渡米
2. Matzに聞いてみた:効率の良い開発についてどうお考えでしょう? - builder by ZDNet Japan
3. レノボX300 封筒に入る超薄型ThinkPad - Engadget 日本語版
4. Hilton San Francisco
19 1. Sun Microsystems
2. A small example of the hidden dangers of dynamically typed programming languages.
3. Curlは関数型?というか、カオス - noblog
4. Time to rewrite DBMS, says Ingres founder | Reg Developer
5. almost effortless >> El Dorado
20 1. Google TechTalk
2. B・ゲイツ氏、マイクロソフトとスタンフォード大学の結びつきを強調:ニュース - CNET Japan
3. 月蝕
4. greenlet Lightweight in-process concurrent programming
21 1. オレゴンOTBC
2. オレゴンディナー
22 1. 帰還
2. しまねOSS協議会などに「地域づくり総務大臣表彰」:ITpro
3. Matz×Dan×Daiji「エンジニア進化論」|「てくらぼ」オープニングイベント スペシャル対談開催|パソナテック(PASONA TECH)
4. 【インタビュー】Love Code, Love CodeGear! - 22年目の親愛なるコードオタクDavid I参上 Love Code, Love CodeGear! | マイコミジャーナル
23 1. 帰還(2)
24 1. 帰還(3)
2. Happy Birthday Ruby
25 1. 帰還(4)
2. 誕生日
3. programming: Google TechTalk: Matz on Ruby 1.9
4. Virtuous Code > Monkeypatching is Destroying Ruby
26 1. KIISセミナー
2. 国内ベンチャーの海外進出ってどうなの?:CNET Japan オンラインパネルディスカッション - CNET Japan
3. アドビ、SQLite Consortiumに参加で開発を支援:ニュース - CNET Japan
27 1. 楽天ミーティング
2. 楽天、電子マネーサービス「楽天キャッシュ」を開始
28 1. MacRuby - ruby - Trac
2. Ruby, a message to you >> Boy, what ISN'T destroying Ruby these days?
29 1. 1.9.0-1 リリース準備
2. Webエンジニア武勇伝 第18弾 笹田耕一氏 | 株式会社ウェブキャリア
>>
迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2008-02-14 [長年日記]

NEW!_ デブサミ2日目

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

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

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

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

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

NEW!_ [言語] 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への要求で、そういうようなことにならないとは言えない、かもしれない。

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

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

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

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

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

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

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

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

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

くらいかなあ。一方、

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>end明示するのは「工夫」とは言えないのでは。
工夫というよりは「必然」です。
eRubyのようなテキスト埋め込みツールでは、Pythonのようなインデント方式は使えません。
またeRubyのようにテキスト汎用である場合、繰り返しや条件分岐では「範囲」を指定する必要があります。
そのため、「end」あるいは別の方法で範囲の終わりを指定することは必須であり、省略できません。
これは言語を問わず、いえることです。

言いたいことは何かというと、Pythonのインデント方式はたしかにeRuby (だけでなくコードの自動生成一般) と相性が悪いように見えますが、「end」の追加程度で済むなら大きな欠点とはならないのでは、ということです。

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

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

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

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

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

def hoge(x):
    dlist = []
    for i in range(x):
      dlist.append(i)
    return dlist

↑が↓で済む

def hoge(x):
   for i in range(x):
      yield i

で、こうする

for i in hoge(5):
    print i,

0 1 2 3 4

コメント汚しごめんなさい。

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

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

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

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

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

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

お名前:
E-mail:
コメント:
本日のリンク元
検索

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

RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.