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

«前の日記(2008-03-19) 最新 次の日記(2008-03-21)» 編集

Matzにっき

<< 2008/03/ 1 1. Ruby 1.9.0-1 snapshot released
2. 高木浩光@自宅の日記 - 公開鍵暗号方式の誤り解説の氾濫をそろそろどげんかせんと
3. Lisa Awards: Biggest Hack for a Language Runtime on Dion Almaer's Blog
2 1. 第一安息日
3 1. CS 11: Python track: python idioms
2. Binary search algorithm - Wikipedia, the free encyclopedia
3. Theological Cultural Analysis of the Free Software Movement
4. 小寺信良:正直、テレビはもうダメかもしれん - ITmedia +D LifeStyle
5. You Used Ruby to Write WHAT?! - CIO.com - Business Technology Leadership
6. 取材
4 1. tanjent: MurmurHash, final version.
2. lucille development blog >> Blog Archive >> LLVM 2.2 v.s. gcc 4.2
3. YouTube - JRuby: The power of Java and Ruby
4. InfoQ: Trading Consistency for Scalability in Distributed Architectures
5 1. Google Japan Blog: Google Summer of Code 2008 開催
2. Computerworld - Don't use Emacs, says Java's father
3. Rails is the best thing that ever happened to Python | Zen and the Art of Ruby Programming
4. [#JRUBY-2220] Struct performance is pretty poor - jira.codehaus.org
6 1. 取材
2. GCの改善について
7 1. 取材
2. オープンソースサロン
3. Teflon Ted: Rails Doesn't Scale
8 1. Sapphire, the Programming Language
2. OOエンジニアの輪! 〜 第 40 回 関 将俊 さんの巻 〜
3. 新見
9 1. 新見二日目
10 1. 取材
11 1. The ”No Laptop” Meeting Rule (by Jeremy Zawodny)
2. 21世紀最大のテーマは公私混同 − @IT
3. エンジニアの進化は「アウトプット」にあり! まつもとゆきひろ×小飼弾 | エンタープライズ | マイコミジャーナル
12 1. 取材
2. 動的型の言語でも以下のようなプログラムの問題を検出できます - koguroの日記
3. RubyにLazySweepのパッチを作った - I am Cruby!
4. PragDave: The 'Language' in Domain-Specific Language Doesn't Mean English (or French, or Japanese, or ...)
5. Arc: I/O
13 1. 徳島講演
2. 七左衛門のメモ帳: 無料より優れたもの
3. 国産ソフトのオープンソース化が増加、「いじりたい」に応える − @IT
14 1. 卒業式
2. Headius: Duby: A Type-Inferred Ruby-Like JVM Language
3. I'd love to quit my job! (sort of) - O'Reilly Ruby
4. オープンソース、UGCの世界での情報開示と、新たな時代のメディア - Ansible Two - 星暁雄の雑記帳
5. シリコンバレーからの手紙138 - 目からうろこが何枚も落ちたオープンソースの“人間的本質”
15 1. Number of Methods in the String Class
2. Make me pulse - Making a better life for web developer since 2006 >> Blog Archive >> PHP6, Unicode and TextIterator features
3. D.C.T.W.Y.C.D.T: Common characteristics of failed open-sourced projects
16 1. 安息日
2. ニカイア・コンスタンティノポリス信条 - Wikipedia
17 1. 「MacRuby」 - ひさしを借りて母屋を乗っ取るか? Mac OS Xの新たなRuby環境 (1) MacRubyとは何か? | パソコン | マイコミジャーナル
2. 5 more essentials for your programming toolbox | Spiteful.com
3. About the International Biographical Centre
18 1. グーグル社員が明かす、イノベーション誕生の舞台裏:ニュース - CNET Japan
2. Muad`Dib: An Embedded ALGOL-like language in Prolog
3. An Agile Way > LuRuJu on Rails -- JUDE で描いた図がそのまま Rails で動く! : ITmedia オルタナティブ・ブログ
4. Kite - Trac
5. 合格発表
19 1. おくやみ:作家 アーサー C. クラーク、90歳 - Engadget Japanese
2. Git-Style Automatic Paging in Ruby : Nex3
3. Ruby as an AppleScript Replacement?
4. 【コラム】エンジニアのための英語術 (43) 論理のルールに従って主張を整理する - 英語でプレゼンテーション その2 | マイコミジャーナル
20 1. 休日
2. 『プログラミングErlang』
3. 思考実験 - immutableな言語
4. Obie Fernandez: Big Name Companies Using Ruby on Rails
21 1. Amazon.co.jp: Googleを支える技術 ~巨大システムの内側の世界 [WEB+DB PRESS plusシリーズ]: 西田 圭介
2. culann.com >> Blog Archive >> And the greatest of these is laziness
3. 「Rubyは◎,Seasar2は♪」---Linux Foundation JapanがSIに使えるOSS一覧,利用実績でレーティング:ITpro
4. Rails deployment a solved problem? Just upload & it works?
5. Sapphire - Two New Re-Implementations of Ruby
22 1. MOONGIFT: >> VMWareの開発でも利用されているソースコードレビュー共有ソフトウェア「Review Board」
2. How Rubinius SendSites Work - Part 1 ,A+ Building a Better Ruby
3. Why Rails Will Not Reign Supreme (and why you shouldn't want it to)
23 1. 新規開始
2. 反省・復活祭
24 1. 楽天ミーティング
2. 七左衛門のメモ帳: 「千人の忠実なファン」
25 26 27 28 1. ヨーロッパへ出発
29 30 31 1. コペンハーゲンに移動
>>
迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2008-03-20 春分の日 [長年日記]

_ 休日

春分の日でお休みなので、 下の二人を連れてフォーゲルパークへ。 鳥たちをみて喜んでいた。

モモイロペリカンがけっこう頑張って芸をしていた。 頭、いいのね。そうとう大きい(羽を広げると1.5m以上ありそう)が、 まだ生後10ヶ月というのも驚き。

_ [言語] 『プログラミングErlang』

しばらく前に献本していただいていた本を読む。

しばらく前に言語探訪で紹介していたりするのだが、 こうやってまとめて読んでみるとかなり知らないことが多い。

「ビット構文」とか、pack/unpackより便利かもしれない。 あと、多重代入の代わりにパターンマッチとか。

ただ、文法はちょっと分かりにくい。 よくわからない句読点のルールとか、endとか。

単一代入しかない関数型言語というのは 「普通の言語」とは、かなり異なったプログラミングスタイルを要求するが、 その故に便利な点も数多くあるなあ。副作用がないから プロセスが遠慮なく中断できる点とか。

_ [言語] 思考実験 - immutableな言語

しかし、改めて考えてみると Erlangってば、参照透過性はないし、 静的型はないし、関数型言語である必要はないのではないか。

Erlangを真に特徴づけているのは、

  • immutableな値
  • アクターモデル

ではないだろうか。他のものは目立つけど実はそれほど重要じゃない。

アクターモデルがあるから、並列プログラミングが簡潔に記述でき、 値がimmutableであるから、「オブジェクトの状態」で悩むことがない。 オブジェクトのアイデンティティが重視されないから、 メモリ空間を超えて値を伝搬しても影響がない。

おまけに(GCの)実装としてはライトバリアが要らなかったり、 循環参照がないことも保証されるから、リファレンスカウントでも十分だったりするのもありがたい。

としたら、たとえばRubyとそっくりな外観で 値がすべてimmutableな言語があったとしたら、どうだろう。 関数型というパラダイムの代わりにオブジェクト指向というパラダイムを提供する Erlang的な言語。

文字列や配列についてはさほど問題はないだろう。 Pythonをはじめ文字列がimmutableな言語は珍しくないし、 配列も(一部の「容器」として使っている場合以外は)大丈夫。

問題になりそうなのは、 ハッシュやオブジェクトである。 これらが状態を持たない、というのはかなりプログラミングスタイルに変革を要求しそう。

そもそも書けるんだろうか。 入出力とかはLazyなSequenceとして扱うんだろうか。

_ [Ruby] Obie Fernandez: Big Name Companies Using Ruby on Rails

Ruby on Railsを使っている有名企業。

  • amazon.com
  • BBC
  • CapGemini
  • BPN
  • Cisco
  • C|Net
  • EA (Electronic Arts)
  • IBM
  • JP Morgan
  • NASA
  • Oakley
  • Oracle
  • Siemens
  • ThoughtWorks
  • Yahoo!

あまり公表はされてないが筆者(Obie Fernandez)の知ってるのでは、他に

  • John Deere
  • New York Times
  • NBC
  • Barclays
  • LA Times
  • Chicago Tribune
  • Orbitz
  • Google
  • Turner Media
  • Limewire

もある。

本日のツッコミ(全5件) [ツッコミを入れる]
_ maeda (2008-03-27 11:03)

>循環参照がないことも保証される

高階関数があれば、そうではないのでは。

_ まつもと (2008-03-27 16:52)

クロージャがselfをキャプチャしちゃうということでしょうか。
それだけならいくらでも対応できそうですが。
それ以外にもありましたっけ。

_ 元職業プログラマ (2008-03-27 22:48)

Erlangはよく分からないのですが、プログラミング言語も極まってくると、対称性が自発的に破れて来るものなのでしょうか?

_ maeda (2008-03-28 00:24)

クロージャを使ったlazyなデータ構造では、単に自分自身への直接的な参照にとどまらず、相互に参照し合う循環的なグラフ構造が作れてしまうと思うのですが。

_ まつもと (2008-03-28 00:29)

そうか。そうですね。
ということは、GC的にはうれしさはあまりないのかな。

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

«前の日記(2008-03-19) 最新 次の日記(2008-03-21)» 編集

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