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

«前の日記(2007-06-28) 最新 次の日記(2007-06-30)» 編集

Matzにっき

<< 2007/06/ 1 1. 楽天技術研究所フェロー就任の影響
2. 私的録音録画小委員会、CD売上減と私的複製の関係めぐり議論は平行線
3. 川o・-・)<2nd life - Ruby で debug する7つの方法
4. Rails vs Django: a non biased yet useless comparison
5. Dave Gilbert's Weblog : The Badness of JFree
6. Trust, But Verify - O'Reilly ONLamp Blog
7. Scala Actors -- A Short Tutorial
8. taw's blog: Why RLisp will not support Ruby class variables
9. 小野和俊のブログ:梅田望夫氏が言うように、好きなことを貫いて仕事にしていくためにはどのようにすればよいのか
2 1. Q:交換不可能な能力に磨きをかけるに何をすべきか? A:blogを書けばいいと思うよ - 一人シリコンバレー男
2. 林檎の歌 アップルが「文化庁は著作権行政から手を引け」と主張
3 1. 忘れ物
4 1. 日経Linux 2007年8月号
2. Converge
3. the Minnu's Filer2
4. 地方格差をなくすためにみんなでwebでがんばろうじゃ駄目な理由を考える - 一人シリコンバレー男
5. Lightweight Language Spirit
6. Geekなぺーじ:選択肢を減らすことの重要性
7. RubyよりPHPを好む初心者
5 1. CodeGear、Ruby統合開発環境の詳細を明らかに − @IT
2. CodeZine:RailsでWikiシステムを作成する(Wiki, Ruby on Rails)
3. C[omp]UTE: Lessons Learned with Erlang
4. murphee's Rant - Ruby native threads vs. lightweight processes
5. 経営者倶楽部 - 2011年、テレビが消える
6. うっかり
6 1. お客さん
2. うっかり(2)
3. moratorium | libaio(Linuxの非同期I/Oライブラリ)の使い方
4. Advanced Topics in Programming Languages: Concurrency/message passing Newsqueak - Google Video
7 1. うっかり(3)
2. The Hand of FuManChu - Python concurrency syntax
3. 「中毒性」ある受託開発がソフトウェアベンチャーの躍進を阻む - 大迫正治 REPEDANT BLOG [ITmedia オルタナティブ・ブログ]
4. Paul Buchheit: Java running faster than C
5. へ〜たのめも:Google のソフトウェア・エンジニアリング - livedoor Blog(ブログ)
6. 業務・システムの視点が欠落した「年金記録漏れ」問題の与野党議論 ビジネス-最新ニュース:IT-PLUS
8 1. 404 Blog Not Found:好きを仕事にするな、仕事を好きにしてしまえ
2. real tangible >> Announcing HQNSFPL9+, the one true successor to HQ9+
3. Why are there no Ruby jobs? - O'Reilly Ruby
4. Dive into Erlang - Is DHH right about concurrency?
5. 合宿
6. RubyKaigi前夜祭
7. zshに移行
9 1. メール事故
2. RubyKaigi 2007
3. RubyKaigi印象
4. 岩本隆史の日記帳 - Railsでは「ちゃんとしたWebアプリケーション」が簡単にできるんだろうか
5. XML in 10 points
10 1. 松江
11 1. RubyKaigi 2007 記事
2. タッチパッド/トラックポイントに続くポインティングデバイス
3. Eiffel : An Advanced Introduction
4. 六月水無月はぶにっき - Railsが普及した次の世界を想定すると・・・
5. 新言語 Xtalを作る日記 - Xtalの多値
6. 「企業システムとRuby with CTC」セミナー
12 1. エンタープライズ
2. [ThinkIT] オープンドリーム、RubyおよびRuby on Rails研修を開始
3. ドリコム、ウェブアプリコンテスト「Drecom Award on Rails」を今年も開催 - CNET Venture View
4. John Lam on Software: Getting Started with the DLR: ToyScript
13 1. Ruby開発ストーリー
2. 思っているよりもずっとずっと人生は短い。: 6年後のStanding ovation
3. So that's what 128 gigabytes of RAM looks like ... - The Something Awful Forums
4. Scott Rosenberg’s Wordyard >> Blog Archive >> Code Reads #10: Guy Steele, “Growing a Language”
14 1. 第11回 クロージャによる超軽量並行プロセスの簡単実装法:ITpro
2. jijixi's diary - 『クロージャによる超軽量並行プロセス』を Ruby で
3. 404 Blog Not Found:perl - There's more than one way to duck-type
4. EPSON カラリオ・プリンタ PM-A970
15 1. 傍聴
2. Katahdin
3. Trickles protocol
4. Google-perftoolsを使ってCPUプロファイリングをとる - PS3 Linux Information Site
16 1. ワード活動
2. David A. Wheeler's Blog - Readable s-expressions and sweet-expressions: Getting the infix fix and fewer parentheses in Lisp-like languages
3. fifty_questions_for_a_prospective_language_designer [the libarynth]
4. Raw Block: Ruby vs JRuby Fractal Benchmark
5. Seven Deadly Sins of Introductory Programming Language Design
17 1. 父の日
18 1. Lazibi: Python-style indenting for Ruby
2. レジデント初期研修用資料: 社会の豊かさと不実の谷
3. If Ruby is so great << Metacircular thoughts
19 1. ChadFowler.com InfoEther
2. Alexandre Vassalotti >> Pickle: An interesting stack language
3. Is TIOBE Fatally Flawed? << Sententia cdsmithus
4. Whirl - Dizzy Programming
5. 九州へ
6. 新言語 Xtalを作る日記 - Xtalの多値3
20 1. 人工知能学会招待講演『Rubyのチカラ』
2. Python 3000 Status Update (Long!)
3. Ask Reddit: Why can't Ruby people just admit Ruby is slow? (reddit.com)
4. ongoing・Tim Brayによる日本レポート
5. 宿泊
21 1. 帰宅
2. Lisp500
3. about:cmlenz - Announcing Babel
4. ユメのチカラ: Community Based Development
5. 第5回 CodeGearデベロッパーキャンプ $(G!9 資料ダウンロード
22 1. 上京
2. ミニ合宿
3. 楽天技術研究所ミーティング
4. 世界が認める頭脳が集結したガレージ--検索エンジンのPFI - CNET Venture View
5. Stevey's Home Page - Effective Emacs
23 1. 神殿
2. まつもとゆきひろ×結城浩,Rubyを語る:ITpro
3. Size isn't everything for the modest creator of SQLite | Technology | Guardian Unlimited Technology
4. ITmedia エンタープライズ:OSJ、PCIホールディングスの100%子会社に
5. 思っているよりもずっとずっと人生は短い。- 小飼弾氏の『Rubyクックブック』評に反応する
24 1. ジョセフ・スミス200年目のクリスマス ソルトレーク・世界最大の大合唱
25 1. ミニ合宿ふたたび
2. まつもとゆきひろ×結城浩,Rubyを語る - enbug diary (2007-06-24)
3. データセンター見学
4. 複数のプログラミング言語を学ぶ意義:ITpro
5. The Language Guide
6. OCaml Language Sucks
7. jessenoller.com - Python 3000 Resources
8. Where I Come From
9. InfoQ: Coming From Ruby
10. Good News
26 1. Wikipediaロゴの誤字
2. 日本 Ruby 会議 2007 - Dave Thomas Keynote
3. 川合史朗@Gaucheは、ハワイで俳優をしている/Tech総研
4. Gforth and gcc ”progress” - comp.lang.forth | Google Groups
5. ITmedia エンタープライズ:第4回 Emacs対vi
6. Steve Yegge、RailsをJavaScriptに移植する
7. [ThinkIT] 第3回:PHPの、その先にあるもの (1/3)
8. 松江へ
27 1. On The Horizon : Ten Things I like about Ruby 1.9 - O'Reilly Ruby
2. もっと失敗しよう:江島健太郎 / Kenn's Clairvoyance - CNET Japan
28 1. 「Google デスクトップ」のLinux版が公開 | パソコン | マイコミジャーナル
2. steve dekorte - Dynamic vs Static Programming
3. The Future of TurboGears - TurboGears
4. Rubricks Project - Rails/Ajax高速化関係メモ
5. Pivotal Blabs : Rails, Slashdotted: no problem
29 1. 第11回 オブジェクト指向言語Ruby
2. Useless Factor: The incomplete, would-be Unicode implementor's guide
3. オープンソース/C言語に学ぶ「ソースコードの読み方」:ITpro
4. FPN-格差社会で生き残る為の5つの能力
5. christopher baus.net | 2007-06-02 | Rails is written in the wrong language
6. jessenoller.com - “Too many ’self’ in python.That’s a big flaw in this language.”
7. [動画]うまくやればたくさんのプログラマはいらない − @IT情報マネジメント
8. 嘘か誠か?元社員が明かすグーグルの職場環境と待遇:ニュース - CNET Japan
30 1. 情報処理学会論文誌プログラミング No. SIG.10(PRO 33)
2. picol, a Tcl interpreter in 550 lines of C code - antirez weblog
3. Welcome to GPLv3 − GPLv3
4. 新言語 Xtalを作る日記- インスタンス変数
>>
Dr.Web 予測するアンチウイルス 持ち込み PC 対策でお悩みの方にオススメです。
ウイルス・スパイウェア検査・駆除 用ツール Dr.WEB CureIt! を無償配布中!

2007-06-29 [長年日記]

_ [Ruby] 第11回 オブジェクト指向言語Ruby

島根大学講座「情報と地域〜オープンソースと地域振興」の第11回。

40人くらいいたかなあ。NHK松江放送局の人も来てたけど、 これいつの日か放送されるのかしら?

ま、情報を専門としない学生も半分はいるようなので あまり難しい専門用語などは使わないように。 途中、Rubyの文法を解説するスライドも用意していたのだが、 聴衆の顔つきを見る限り、ついていけなそうだったのでその辺はパス。

反省すると、抽象的な話が多くて、辛そうにしている人がいたような。 もうちょっと具体的な例を持ち込むべきだったかも。 たとえば、コードの簡潔さの話をしている時には、 簡潔なコード例とか。

とはいえ、もっとも重視したい「気分」や「ノリ」は視覚化できないのが痛い。

次回は実際にRubyを使った演習を行うそうだけど、 なるたけ多くの人がついていってほしいなあ。 2回ほどRubyについて学んだ後は、前田くんによるRails入門。

考えてみると結構ぜいたくな講義だよな。

_ [言語] Useless Factor: The incomplete, would-be Unicode implementor's guide

スタックベースの言語FactorにおけるUnicodeの取り扱いについて。

かなりちゃんと調べていることがわかる。 で、内部表現としては固定長であることを重視してUTF-32を採用することにしたとか。 Unicodeに拘泥する限り、ある程度妥当な選択だと思う。

しかし、Factorでは将来codepoint単位ではなく、 grapheme(複数codepointから構成される「文字」)を取り扱うことを 想定しているようなんだけど、それって結局は可変長文字を取り扱わなくちゃいけない ってことじゃないんだろうか。それだったら内部表現にもUTF-8で十分のような。

ちなみにRubyでは、

  • 内部エンコーディングはステートレスならどんなものでも選択可能
  • (デフォルトの)UnicodeハンドリングはUTF-8
  • UTF-16やUTF-32も扱えるようにしたい
  • けど、スクリプトはASCII互換である必要がありそう
  • ということはUTF-16やUTF-32のリテラルが書けないので大変そうだなあ

というレベル。graphemeに関しては、デフォルトでは扱わない。 けど、graphemeを扱うようなエンコーディングハンドラを書くことは可能だと思う。

_ オープンソース/C言語に学ぶ「ソースコードの読み方」:ITpro

ソースコードの読み方を身に付けることは重要だよね。

で、正直、ここ数日、こうやって自分の文章を読み返す機会が立て続いているわけだが、 実は私は自分の書いた文章がとても好みだということが実感できた。 自分の好きなように書いた文章だから当然だ、という気もするけど、 なんかナルシストみたいでイヤという気持ちも同時にある。

_ FPN-格差社会で生き残る為の5つの能力

「生き残るための」というよりは「良いデザインのための」という印象もあるが。 で、その5つの能力は以下の通り。

  1. デザイン力
  2. 商品・サービスの物語力
  3. 新コンセプト構築力(新たな組合せを創造する力)
  4. 共感力
  5. 遊び心

偶然ながらRubyのデザインにおいて(結果的に)強調されている点とかなり似通っている。 言語そのものにはあまり「遊び心」はないような気がするけど。 コミュニティ(の参加者)にはたっぷりありそうだ。Poignant Guideとか。

_ [Ruby] christopher baus.net | 2007-06-02 | Rails is written in the wrong language

DHHが語る以下の言葉は、RubyというよりもむしろPythonの思想を連想させる。 ということは、RailsはRubyではなく、Pythonで書かれるべきではなかったか、という話。

Decisions are bad.

Because decisions take up your brain power, and it requires brain cycles to consider which or the other.

The more decisions you can take out of the whole the thing, the more brain power you free up to consider the really important things.

That's of course how this leads to simplicity. It leads to simplicity in the fact that it is not even something you think about anymore.

Constraints are liberating.

It [Rails] takes a stand on lots of issues.

If you design a new schema and you want to use composite primary keys you're insane. And basically if you want to indulge in insanity it should hurt. It shouldn't be a walk in the park to be insane...

うーん、どうだろうか。Railsはopinionated softwareと呼ばれる通り、 「私の言うことに従えば楽できるよ」と呼びかけてくるタイプのフレームワークだ。 しかし、そのクレージーな実装のためには open classみたいな機能が使いやすい状態で存在している必要があったんじゃないかなぁ。

つまり、opinionated frameworkを実現するためには、 それを実装する言語自身はopinionatedであるよりは、 むしろ上位層のopinionを受け止める柔軟さ(悪くいえばいいかげんさ)が 必要だったんじゃないかと。

Larry Wallの言うところの単純さと複雑さの関係と似ているよね。 言語が単純だとソリューションが複雑になるというアレ。

だから、Lisp on Railsは可能だったかもしれないけど、 Python on Railsは無理だったと思う。

とはいえ、DjangoとかTurboGearが頑張っているという話を聞くと、 まあ、そんなに「無理」と断言することもないのかもしれない。 聞くところから想像すると、やはり、Djangoとかちょっと「Rails的」ではないようだけど(悪いことではない)。

_ [言語] jessenoller.com - “Too many ’self’ in python.That’s a big flaw in this language.”

「selfが多すぎるのがPythonの欠点だ」と言われるけど、 なんでselfがそんなに嫌われるのかがわからない、という話。

まあ、ある言語に慣れ親しんでくると、その言語でもっとも頻出するものが、 意識下にもぐりこんでだんだん認識されなくなってくるような傾向があるのかもしれない。

  • Lispの括弧
  • Pythonのself
  • Rubyのend
  • Perlの$@%{}/

そう言われればそんな気がする。ゲシュタルト問題なのかもしれない。

とはいえ、今回も参照されている Zen of Pythonのひとつ「Explicit is better than implicit(明示は暗黙に勝る)」には反対だ。 明示的な記述は簡潔ではないので、「Succinctness is Power(簡潔さは力)」と矛盾する。

ふたつの原則のうち、どちらかを選べと言われたら、(私にとって)答えはひとつだ。 私の視点からはこの原則こそが「Pythonの最大の欠点」だと思う。

同意しない人は多そうだけど。

_ [Ruby] [動画]うまくやればたくさんのプログラマはいらない − @IT情報マネジメント

えー、「たくさんのプログラマはいらない」なんて言ったっけ、 と思ったけど、どうやらほんとに言ってるようだ。 アルコールは入ってないけど、てけとーに放言しているからなあ、この時は。

一般論としてではなく「という局面もある」ということで、受け止めていただきたい、ぜひ。

とはいえ、「生産性重要」というのは本当。

_ 嘘か誠か?元社員が明かすグーグルの職場環境と待遇:ニュース - CNET Japan

別にフツーだと思うけど? というか、このリークがMicrosoftから来たということを考えると 「Googleは理想郷ではないよ」ということが言いたいのかもしれない。 が、そんなのは当たり前で、勝手に妄想を膨らませる方が悪い。

むしろ、リーク元のMicrosoftの職場環境と待遇を考えると どうなのか、と思う。 特に私にとって重要なオープンソースソフトウェア開発者としての暮らしやすさについて。

で、その観点から考えると私は絶対にMicrosoftでは働きたくない。 私にとってGoogleは理想郷ではないけれども、Microsoftは...ちょっと...(言えないことがあるらしい)。

本日のツッコミ(全11件) [ツッコミを入れる]
_ きしだ (2007-07-08 06:50)

・Javaのpublic static void main(String arg[])

_ hyuki (2007-07-08 13:43)

> 自分の書いた文章がとても好み

コードもそうですか?

_ なかだ (2007-07-08 22:27)

複数codepointを単一「文字」にエンコードするとか。 > grapheme
それはそれで茨の道だと思うけど。

_ Tietew (2007-07-09 12:31)

> ということはUTF-16やUTF-32のリテラルが書けない
Cみたいに L"ほげ" でUTF-16リテラルにするとか。
Lだけじゃあんまりなので %Q を援用して %C{UTF-16}"ほげ" とか。

_ あんど。 (2007-07-09 14:57)

えーー。講習するって知ってたら書いてもらったのにーーー。
わーん。(まだ終わらない

_ まつもと (2007-07-09 14:59)

前田くんに? (私は講習ではないから)
前田くんのほうこそ講習会テキストに期待してるんじゃないでしょうか。
直接聞いてないけど。

_ R (2007-07-09 18:17)

個人的にPythonのself.を@とか短い記号にしたらいいのにと思ったりします.
あと第一引数においとけば名前はselfじゃなくてもいいんですよねこれ.aとかiとかにするとタイプ量が激減.
(人に見られるコードだと怒られそうですが)

_ shugo (2007-07-11 18:42)

講義のテキストはまだ何も考えてません。
たすけてー。

_ あんど (2007-07-12 15:55)

ぁ、500出たのに書き込み成功してたんですね。(遅
えと、tDiaryみたいな既存スタイルシートを使えるようにするのって楽しそうです。大変かしら。>shugoさん

_ koba (2007-07-12 19:13)

息子が生命工4年。当日教室がモグリの学生で溢れていなければ島大の学生は世界の潮流に気が付かない大馬鹿野郎で女の子には絶対モテない田舎者とハッパを掛けたのですが...

_ shugo (2007-07-12 23:25)

面白いかもしれないですね>tDiaryのスタイルシート流用

ちょっと準備が大変そうですが…

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

«前の日記(2007-06-28) 最新 次の日記(2007-06-30)» 編集

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