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-26)
[go: Go Back, main page]

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

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-26 [長年日記]

_ [言語] Ruby-Like Syntax in C# 3.0

Javaでは

new Date(new Date().getTime() - 20 * 60 * 1000);

とかくものが、Ruby (with ActiveSupport) では

20.minutes.ago

と書ける。簡潔でよろしい。では、C#ではどうするか。 C# 3.0なら、既存のクラスにextentionという形でメソッドが追加できるので、 オープンクラスのようなことができ、結果として

20.Minutes().Ago();

と書ける。括弧が省略できないので惜しいな。

_ [言語] 4chan BBS - Evolution of a Python programmer

いろいろなレベルのPythonプログラマによる階乗プログラム。

っていうか、個人的には英語で運営されている4chan.orgが まるっきり2ちゃんねるなところの方が驚いた。

ちなみにRubyなら、こんな感じ(1.9限定)。

1.upto(6).inject(:*)

_ [言語] 体験! JavaFXの世界 - Javaが放つRIAプラットフォームの魅力を徹底解説 (1) あらゆるデバイスで実行可能なリッチなアプリケーションUIを実現

JavaFX Scriptによるプログラミングの紹介。

なんど読み返してもJavaFXが魅力ある言語には思えない。 functionとoperationの奇妙な分離といい、 宣言的なんだけど、結局制限の多い記述とか、 よく動作が理解しにくいlazyとか。

もうちょっと言語そのものがわかれば、使いやすいと感じるようになるのかなぁ。

_ メール破産 | Okumura's Blog

メールがたまりすぎちゃうと処理できなっちゃって、「破産」するしかなくなる、という話。

スパムはまあある程度機械的に処理できるので別としても、 確かにメールはたまる一方である。 私のinboxには処理待ちのメールが残っているのだが、 すでに500通を越えている。

古いものはもうフォローしきれないのでアーカイブ行きになるべきだろうな。

_ [言語] Chi Parla ? a little SmallTalk version 3 derivate.

Timothy BuddのLittle Smalltalk ver.3 からの派生。

まだはじまったばかりだが、GCが単純なリファレンスカウントから マークアンドスイープによって循環参照に対応したり、 残っていたバグをつぶしたり、今後が期待できる、かも。

_ [言語] 404 Blog Not Found:perl - Tie::Array::Lazy

LazyなArrayを、と書いたら、弾さんがあっという間にPerlで実装してしまったという話。

こういう時にtieというのは強力だよね。 言語機能としてはあまり好きではないんだけど。

RubyだとArrayの機能をそのまま流用とは行かず、 元々のエントリにあったLazyListのように別のクラスとして再実装する形になるだろう。

Rubiniusとかなら配列もRubyで記述されることになるから、 Arrayをサブクラス化して、いくつかのメソッドをオーバーライドすることで 簡単に目的が達せられるかもしれない。

_ [言語] 404 Blog Not Found:新ゲーム - ランゲッジメーカー

blogで公開されている以上、「こっそり」とは呼べないのではないでしょうか。

どなたかがコメントされていたが、 「こっそり」の主体はあくまでも観察者である私であって、 作者の石橋さんではない。

アドバイスする「おじさんやおばさん」の価値をまったく否定するものではないが(そういえば、この業界、おばさん/おねえさんは、ほとんど見かけないなあ、少なくとも日本では)、 多すぎるリクエストやコメントが集中するにはまだ早いと私は考えていた。

たまたま見かけた「おじさん」がコメントするのならともかく、 1日数千PVの「Matzにっき」や、恐らく万を越えるPVを持つ「404 Blog Not Found」から リンクされると影響力が大きすぎるんではないかと。

杞憂かもしれないけど。

まあ、でも、しょうがない。 杞憂であることを祈りつつ、正常な成長が促されるように これからも見守ることにしよう。

言語設計ってのはねぇ、ソフトウェアの多くの領域とは違って 正解というものがほとんどないので、 難しいのだ。アドバイスしたがる人は多いけど、 本当に役に立つアドバイスができる経験者がどれだけいるかと考えると、 すべてのアドバイスは眉に唾をつけて聞くべきだ。

たぶん、「日本で一番言語設計にうるさい男」だろう私だって、 Rubyじゃない言語に対するアドバイスは当てにならない。

本日のツッコミ(全14件) [ツッコミを入れる]
_ H.I. (2007-05-28 01:12)

>言語設計ってのはねぇ、ソフトウェアの多くの領域とは違って正解というものがほとんどないので、
えっと、言語設計についてほとんどないだろうってのはいいのですが、それ以外の領域で多くには正解がある、ってのには首を傾げます。

_ 元職業プログラマ (2007-05-29 00:26)

私が階乗プログラムをつくったら、こんな感じになってしまいました。(1.8.5動確済)
eval((1..6).to_a.join('*'))

_ k2 (2007-05-29 09:38)

私なら「Calendar.getInstance().add(Calendar.MINUTE, -20);」と書きます。
>new Date(new Date().getTime() - 20 * 60 * 1000);

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

そういえば、Enterprise Java programmerならば、どんな階乗プログラムをお作りになられるのでしょうか?

_ 道々 (2007-05-31 19:19)

CNET Japanで読みましたが、楽天技術研究所フェローになられるのですか。
おめでとうございます。
一利用者として、現在のRubyの開発に専念できる体制から、大きく変わってしまわないことを祈るばかりです。

_ Javaらー (2007-06-01 11:53)

Calendar.getInstance().add(Calendar.MINUTE, -20);
これだと Calendar インスタンス取れないんですよね……。
add() の戻り値 void だから(涙

> Enterprise Java programmerならば、どんな階乗プログラムをお作りになられるのでしょうか?
きっとこんな感じ:-p
public BigInteger factorial(BigInteger n) {
  BigInteger result = BigInteger.ONE;
  for (BigInteger i = BigInteger.ONE; i.compareTo(n) <= 0; i = i.add(BigInteger.ONE)) {
    result = result.multiply(i);
  }
  return result;
}

_ 通りすがり (2007-06-01 16:25)

>Javaらーさん
なんでaddの戻り値がvoidだと涙するのか理解できません。
Calendarインスタンスを操作して別のインスタンスが返る方が不思議です。
階乗は再帰を使った方がスマートですね。

_ にょん (2007-06-01 17:51)

おおもとのk2さんのコードではCalendarインスタンスを参照する変数がないので、addしてもCalendarインスタンスから換算結果であるDateを取ってくる術がない、ということでしょう。

_ Javaらー (2007-06-02 14:19)

> なんでaddの戻り値がvoidだと涙するのか理解できません。
にょんさんの書かれてる通りです。このままだと20分前を指すインスタンスがどこからも参照できないんで困ってしまうのです。

> 階乗は再帰を使った方がスマートですね。
全くもってその通りですね。
というか、「JVMが末尾再帰の最適化行うかわからないよねー」とか「そもそもBigIntegerまで必要な階乗ってどんだけだよ」とか「でもエンタープライズだしー」とかいった諸々を詰め込んだジョークのつもりだったんですが解りづらかったですね。
すいませんm(_ _)m

_ シロウト (2007-06-02 15:59)

> このままだと20分前を指すインスタンスがどこからも参照できないんで困ってしまうのです。
JSR 310 でそのへんが改善されるかもしれませんね。
Joda Time の DateTime クラスだと plusMinutes メソッドの戻り値が DateTime になっているようです。

_ 元職業プログラマ (2007-06-03 22:11)

Javaらーさん。
エンタープライズなソース、ありがうございました。

_ 頭痛もち (2007-06-03 22:30)

エンタープライズだと、あとjavdocコメントを書いだり、「引数が負じゃない」チェックをしたりするかもしれません。まだまだあるかも。

_ 元職業プログラマ (2007-06-03 22:44)

>まだまだあるかも。
の中の一つは、たぶん、nが0のとき、1を返すだと思います。

_ 元職業プログラマ (2007-06-03 23:19)

↑たぶん、間違えました。頭痛もちさん。申し訳ありません。

 

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

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

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