オープンソース分散ファイルシステム。 レプリケーションも自動でやってくれるらしい。
来るべき未来に備えて、あちこちで分散やら並列やら メニーコアやらが話題になっている、のかもしれない。
共通点は「エクスペリエンス(おもてなし)」だそうだ。
ソフトウェアを比較する時には、つい「なにができるか」という 機能リストによる比較になりがちである。 しかし、産業が成熟してくると機能による差別化というのは 難しくなる。すべてのライバルが大抵の機能を備えてしまうからだ。
同じような機能を持っていても それぞれに違う「使ってどう感じるか」というのは軽視されがちである。 が、これからの「差別化」のためには、 そここそが重要なポイントになる、という話。
自動車とかそんな感じだよね。 もちろん細々とした機能の差(カーナビとかCVTとかバックモニターとか)が 登場することもあるけど、それも今やある特定のメーカー限定ということは ほとんどなくて(例外はマツダのロータリーエンジンくらいか)、 結局は、予算、デザイン、フィーリングなど機能でない部分で 車種が決定される。
プログラミング言語も似ている。
「チューリング完全」の壁がある以上、最終的に出来ることには大差ないんだから、 プログラミングしている時にどう感じるか、ということこそ重要なポイントになる、 んだと思う。これからは。
まあ、ライブラリなどが十分に充実したら、というのが前提だけど。
今年のOSS貢献者賞の授賞式。参加しなかったけど。
今年の受賞者は
の4名。今年は私は審査員をおおせつかっていたので、 「身内」である笹田くんを推薦するのは少々抵抗があったのだけど、 開発とコミュニティ貢献の両方をこなしているということで、 他の審査員の賛成多数で決定した。
他の方も順当だと思う。ただ、4名という枠があったので 「与えるべき人に届かない」という問題はある。 「来年以降でお願いしよう」と先送りした人がたくさんいた。
Ruby 1.9にはSymbol#to_procが導入されるけど、 String#to_procはどうだろうか、という話。
こんなコードが書ける。
square = 'x*x'.to_proc; square(3); → 9 square(4); → 16
とか
'x y -> x+2*y'.to_proc[2, 3]; → 8 'y x -> x+2*y'.to_proc[2, 3]; → 7
とか。面白いなー。標準で取り込むには マジックが強すぎるような気もするけど。
Cをベースにした文法を持つ、 統一的な構造を持つ大規模なデータを扱うことができるDSL。 要するにデータストリーム操作言語だと考えればいいだろう。
MapReduceにしろ、このHancockにしろ、 やはりストリームという概念は いろいろと使い勝手がよさそうだ。
そういえば大学時代、研究室の先輩が ストリームを主要なデータ構造にした、 その名もStreamという言語を設計していたなあ。
今思えば先見の明があったということか。 まあ、今では研究成果は埋没しているわけだが。