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にっき(2007-05-12)
[go: Go Back, main page]

«前の日記(2007-05-11) 最新 次の日記(2007-05-13)» 編集

Matzにっき

<< 2007/05/ 1 1. ITmedia エンタープライズ:刑務作業でRuby、世界初の受刑者によるソフトウェア開発
2. MS、「Silverlight」を複数プラットフォーム対応へ - CNET Japan
3. お客様
4. Calling Erlang from Ruby (Teaser)
2 1. random-state.net / Method Cache Hacking (May 1st 2007)
2. ICFP Programming Contest 2007
3. 「働く」って何だっけ?日本の労働観を再考せよ (新日本的経営の姿):NBonline(日経ビジネス オンライン)
3 1. 日経Linux 2007年7月号
2. The World of Hello World
3. 第5回 CodeGearデベロッパーキャンプ開催のお知らせ
4. Ext3cowファイルシステム
4 1. The Analytic Tradition Complexity in language design
2. サンは機能化(狩猟型)集団なのか - 代替案のある生活 [ITmedia オルタナティブ・ブログ]
3. A list of interesting Erlang links | aidanf.net
5 1. お菓子の壽城
2. Erlangish: Distributed Bug Tracking
3. O'Reilly Radar > lift/scala for web apps
4. Decimal Arithmetic - FAQ
6 1. 証会
7 1. PEP 3117 -- Postfix type declarations
2. The Concepts and Confusions of Prefix, Infix, Postfix and Fully Functional Notations
3. Lazylist implementation for Ruby
4. Foo Camp
5. 聖書の登場人物が戦う格闘ゲーム「Bible Fight」 - GIGAZINE
8 1. OSSで新たなビジネスモデルを模索、商用ソフトとの“ハイブリッド”で差別化--シーイーシー - ZDNet Japan
2. Joyeur: Joyeur: DTrace for Ruby is available
3. Freedom to Tinker >> Blog Archive >> You Can Own an Integer Too − Get Yours Here
4. Alarming Development >> Blog Archive >> Goodbye Java
5. 「Javaに並列処理と関数型言語の要素を」、ティム・ブレイ氏 − @IT
6. Sun: Pay open-source developers - Yahoo! News
7. るびま19号 言語探訪
9 1. [Python-3000] the future of the GIL
2. openjfx: The JavaFX Programming Language
3. e7
4. InfoQ: Mingle from ThoughtWorks is Big Win for JRuby
5. Hobo - The web app builder for Rails
6. GaucheNight
10 1. 平成18年度総会記念講演会 『Web2.0を支える国産技術 オブジェクト指向スクリプト言語「Ruby」』
2. 「本家Rubyより速い」、JRuby開発者に聞く − @IT
3. KeN's GNU/Linux Diary | LogicoolのWebカメラとEkigaでビデオ通話してみる
4. 採用基準について。 - トラパパ@TORAPAPA [ITmedia オルタナティブ・ブログ]
5. Obscene Art :: Being everywhere is a killer feature
6. Neil Mix >> Blog Archive >> The Paradox of Elegance
7. 痛いニュース(ノ∀`):「アメリカ人が作れるなら自分にも作れる」 独学で拳銃から実弾まで手作りして販売、男逮捕…福岡
11 1. GPLv3にはApache Licenseとの互換性が盛り込まれる見込み--FSF幹部 - CNET Japan
2. コミュニティへの参加は、好きだからこそ続けられる − @IT自分戦略研究所
3. John Rose @ Sun : JSR 292 Deep Dive Notes
4. Ruminations of a Programmer: XML - Not for Human Consumption
5. Ruby - Erlang二題
12 1. 授業参観
2. Unicode Chart
3. Ola Bini on Java, Lisp, Ruby and AI: JavaOne day 4: the final friday
4. taw's blog: Syntactic tradeoffs in functional languages
5. John Rose @ Sun : Longjumps Considered Inexpensive
6. The Problem with Threads
13 1. 母の日
14 1. Rubyを飲み込んでしまうJava − @IT
2. bashにて複数端末間でコマンド履歴(history)を共有する方法 (iandeth.)
3. Relevance: Static Typing and Readable Code
4. CodeGear、「Ruby on Rails」対応の開発ツールを発表へ - CNET Japan
15 1. YouTube - Ruby on Rails, web development that doesn't h...
2. YouTube - Ruby on Rails vs Java - RailsEnvy.com Commerical
3. Justdave’s Blog >> Why did it take Bugzilla 9 years to get from version 2.0 to 3.0?
4. A spelling corrector in Scala
16 1. 出張講演
2. Ruby+アジャイルで変化に強い開発を---永和システムとNaClがタッグ:ITpro
3. 野村総合研究所 オープンソース救急センター | オープンソースのトラブル、今すぐ対応!
4. Y combinator in Ruby
5. ITmedia エンタープライズ:第3回 ハッカーと仕事 (1/2)
17 1. ネット上での自分の活動を集約する「アバウトミーβ」,ニフティがRuby on Railsで構築:ITpro
2. アイデンティティはオープンソースプログラマ − @IT自分戦略研究所
3. [Mono:DLR] Hello, Dynamic Language Runtime-enabled World! - O'Reilly XML Blog
4. 404 Blog Not Found:そろそろerlangについて一言いっとくか
5. Akita On Rails : Big News! Akita joins Surgeworks
18 1. Rubyist Magazine - Rubyist Magazine 0019 号
2. 新サービスMyITproの裏側を暴露します:ITpro
3. Andy Tanenbaum hasn't learned anything
4. オープンソースサロン
19 1. O'Reilly Radar > DHH's Rails Keynote
2. IBM 境界を越える: Rails のケース・スタディー - Japan
3. 404 Blog Not Found:List は Array にあらず
20 1. 岡山
21 1. 若い人たちへのキャリアアドバイス
2. ChadFowler.com Changing the World
3. Greg Luck's WebLog: Ruby in decline...
4. What do you get in a commercial Common Lisp implementation?
5. [erlang-questions] some language changes
6. Ola Bini on Java, Lisp, Ruby and AI: ThoughtWorks, Mingle, RubyWorks and JRuby
22 1. Why insisting on semicolons? - O'Reilly ONLamp Blog
2. Is Faster Always Faster? - 10X Software Development
23 1. Radium Software - はじめてのプログラム
2. 404 Blog Not Found:君は新言語xtalを知っているか?
3. あらゆることがうまく行かなければどれくらいかかるか?
4. HOW DO YOU LIKE SILICON VALLEY? | SFBETA Geek Sessions Ruby on Rails: To Scale or Not to Scale
24 1. Headius: The Final Bugs
2. The Programming and Management Blog >> PHP Interview questions from YAHOO
3. ずっと君のターン - The World Is Mine
4. SimpleConsole - Building Console Apps
5. InfoQ: The Futures of Ruby Threading
6. Towards the best collection API
7. 平成19年度U-20プログラミング・コンテスト
25 1. 報國挺身日記 - 5.7.0がマージされた件について
2. InfoQ: Evan Phoenix hired to work on Rubinius
3. Ruby.Badbunny - Symantec.com
4. rubyneko - RubyでえせMapReduceもどきを作ってみた。
5. RubyForge: The Omnibus Concurrency Library
6. M17N化
26 1. Ruby-Like Syntax in C# 3.0
2. 4chan BBS - Evolution of a Python programmer
3. 体験! JavaFXの世界 - Javaが放つRIAプラットフォームの魅力を徹底解説 (1) あらゆるデバイスで実行可能なリッチなアプリケーションUIを実現
4. メール破産 | Okumura's Blog
5. Chi Parla ? a little SmallTalk version 3 derivate.
6. 404 Blog Not Found:perl - Tie::Array::Lazy
7. 404 Blog Not Found:新ゲーム - ランゲッジメーカー
27 1. 掃除方針
28 1. 松本へ
2. 松本市
3. 講演
4. Outbound Port 25 Blocking
5. hnwの日記 - PHPの奇妙なround関数
6. Yawa - Yet Another Web Application framework. - FrontPage
7. ストールマンは正しかった − @IT
29 1. 東京へ
2. プロコン実行委員会
3. 明日の準備
4. ホテル
5. Rail - Esolang
6. Google Translateよ、まつもとゆきひろ氏の出演はヒミツじゃありません - Allegro Barbaro [ITmedia オルタナティブ・ブログ]
7. ITmedia +D LifeStyle:飽和するコンパクトデジカメ、脱却の糸口を探す (1/3)
8. PHP is dead ... long live PHP! | Dries Buytaert
30 1. Linux World/Expo Tokyo 2007
2. [動画]Ruby設計者まつもとゆきひろといろいろ語りたい − @IT情報マネジメント
3. Vying Games : Blog : Ruby and Trust
4. >> RUBY: DRY up your Enumerations - DevChix - Blog Archive
5. ユメのチカラ: ポロシャツとハッカー
6. The rantings of Clinton Forbes: In 2004, there were only 30 days in October
7. インテル:「ソフトウェアもムーアの法則に従う必要がある」 - CNET Japan
8. PHP - スクリプトキャッシング
31 1. まつもとゆきひろ氏が楽天技術研究所のフェローに就任,楽天はRubyの活用を拡大へ:ITpro
2. Open Tech Press | イベントリポート:LinuxWorld2007――初日の講演から
3. 微酔半壊: Common Lisp: loopマクロ用法抄
4. 360 Degree DB Programming: Groovy, Ruby, PHP, Python: the revival of scripting languages
5. Code Quality コードリーディングによる非機能特性の識別技法
>>
Dr.Web 予測するアンチウイルス 持ち込み PC 対策でお悩みの方にオススメです。
ウイルス・スパイウェア検査・駆除 用ツール Dr.WEB CureIt! を無償配布中!

2007-05-12 [長年日記]

_ 授業参観

長女、次女の中学校の授業参観。

中三は進路についてのオリエンテーションの参観であった。 推薦とか内申とか入試との比率とか。 島根県はまた制度が違うように思える。

っていうか、私の中学時代には こんなに情報が開示されていなかったような気がする。 内申なんてまったく気にしてなかったものなあ。

_ Unicode Chart

AJAXによるズームインタフェースのUnicode文字の一覧。

あまり調べものには向かないが、 「Unicodeってこんなに文字があるんだ」ということを 肌で感じることはできる。

_ [言語] Ola Bini on Java, Lisp, Ruby and AI: JavaOne day 4: the final friday

ThoughtWorksに行ったJRuby開発者、Ola BiniによるJavaOneレポート。 結構、手厳しい。

リンク先は最終日のものだが、他の日もなかなか面白い。

_ [言語] taw's blog: Syntactic tradeoffs in functional languages

高階関数を持つ言語(OCaml)のライブラリを精査したところ、

So among 2239 functions defined in OCaml standard library (and whatever libraries I have installed), 87.2% take no blocks, 12.1% take one block, and 0.7% take two or more blocks.

2239関数のうち、関数引数を取らないものが87.2%、 ひとつだけ取るものが12.1%で、ふたつ以上とるものは0.7%であった。

ここからわかることは、プログラミング言語は 99.3%を占める高階関数(ブロック)を0または1個とるものに最適化するべきであり、 めったにない二つ以上ブロックのために、それ以外のものを「ゆがめて」はいけない、 ということ。

Rubyの文法はまさにこの最適化が行われており、 設計時の私の「勘」が、実証された形になっているのがうれしい。

_ John Rose @ Sun : Longjumps Considered Inexpensive

longjmpのコストはそんなに高くない、という話。

改めて考えて見るとsetjmp/longjmpがやってることは、 いくつかのレジスタをコピーするだけなのでそんなに重いわけではない。 (matzrubyを含めて)setjmp/longjmpを多用する処理系が重いのは、 安易に再帰に頼っているからであってsetjmp/longjmpのせいではない。

_ [言語] The Problem with Threads

via retrospections: Andre's Weblog - Blog

「Threadはダメ」という論文。 面白いのは「(ある程度以上複雑な)Threadプログラムは人間に理解できない」という一方で、 「Erlangのような並列性を組み込んだ言語が今後主流にならないだろう」という主張。

Alternatives that replace these languages with entirely new syntax, such as Erlang or Ada, have not taken root, and probably will not. Even languages with minor syntactic modications to established languages, like Split-C or Cilk, remain esoteric.

The message is clear. We should not replace established languages. ...

I believe that the right answer is coordination languages. Coordination languages do introduce new syntax, but that syntax serves purposes that are orthogonal to those of established programming languages.

つまり、「主流の言語(established languages)」には手を入れず、 それらで記述されたタスクを組み合わせる「協調言語(coordination languages)」が 主流になるのではないかという予測。

が、その協調言語が(たとえばRubyで書かれた)DSLだったらどういうことになるだろうか。

本日のツッコミ(全12件) [ツッコミを入れる]
_ とみた (2007-05-20 22:18)

AJAXじゃなくてFlashじゃないかと > Unicode Chart

_ sumii (2007-05-21 07:43)

MLはScheme系よりはAlgol系に近いSyntaxということになっていますがダメですかそうですか。:-)

あと、MLにせよRubyにせよ、なんで一つ以上ないし二つ以上の関数引数を取れるようにしたら文法が変わらなければならないのか、よくわかりませんでした。(というわけで、そもそも最初の表が…???)

_ まつもと (2007-05-21 07:54)

いや、別によろしいんじゃないでしょうか > ML

あの表はちょっと特殊で、Rubyがcode chunkをひとつだけ取る場合を特別扱いしていることを反映しています。

  foo(lambda{|x|...})

ではなく、

  foo {|x| ...}

となるので。

orthogonalityを考えると、そのような「省略記法」は不要なのですが、高階関数のほとんどが関数引数をひとつしか取らないことを考えると、見栄えの改善になるこの文法にも意味はあるのだ、と言う話です。

_ kazamachi (2007-05-21 09:26)

DLRのASTって、どのように思われますか。
http://blogs.msdn.com/hugunin/archive/2007/05/15/dlr-trees-part-1.aspxで、Jim Huguninが興味深い内容を書いています。個人的には、John LamoがIronRubyで見せたPythonとJavaScriptとの連携が興味深かったのですが...

_ sumii (2007-05-21 10:36)

いや、それは当然ですが、一つといわず二つでも三つでも{|x| ...}を書いたらいけないのでしょうか?という質問でした。yieldのほうは数字で指定する:-)とか名前をつけるとか…

_ まつもと (2007-05-21 11:51)

そうなると、普段使う「ひとつ」のケースに影響が出ちゃう、ってことなんじゃないかと。> 複数のブロック

_ sumii (2007-05-21 12:12)

あれ、単純に「デフォルトでは最初のブロックにyieldする」だけじゃ駄目ですか? そもそも複数ブロックが不要ならどうでも良い話ですが、「複数ブロックを導入すると単一ブロックの文法にも影響する」という部分がよくわからなかったので…。何度もすみません。

_ まつもと (2007-05-21 12:22)

Rubyのブロックを複数渡せるようにできる文法が定義できそうな気がしません。
結構、複雑なことをしているので。

仮に不可能でないにしても、呼び出す方も受ける方も複雑になるわけですから、あまりメリットはないように思います。

_ sumii (2007-05-21 12:43)

> 結構、複雑なことをしているので。
なるほど、実は何か複雑な事情(?)があるんですね…。現状でProcオブジェクトを生成したり、専用のオブジェクトを定義するよりは簡単になるかと思ったので…。どうもありがとうございました。(_ _)

_ 元職業プログラマ (2007-05-21 23:46)

「Haskellのような並列性を組み込んだ言語が今後主流にならないだろう」という主張をされている方もいらっしゃるのでしょうか?

_ まつもと (2007-05-21 23:52)

この論文には書いてないですね。

でも、Haskellのような並列性が主流になるかどうか賭けろ、と言われたら、私はならない方に賭けます。残念ながら。
主観的には8:2くらいの確率かな、根拠はないですけど。

_ 元職業プログラマ (2007-05-22 08:32)

ご回答有難うございます。
私は、まつもとさんもご察しの通り、Haskellのような並列性が主流になる方に賭けさせていただきます。
どうか、よろしくお願いします。(?)

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

«前の日記(2007-05-11) 最新 次の日記(2007-05-13)» 編集

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