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

Matzにっき


2007-06-11 [長年日記]

_ タッチパッド/トラックポイントに続くポインティングデバイス

トラックボールはなかったことにされているのだろうか(泣

うーん、パッドよりはマシに思えるんだけど、トラックポイントと比較した優位性は 「ボタンを押してクリック」だけかなあ。そこは別に困ってないんだけど。

_ [言語] Eiffel : An Advanced Introduction

Eiffel(私は「あいふぇる」と発音する)のチュートリアル。

私の知識は古いし(Eiffel the Language以前)、 この際、もう一度勉強し直すのもよいかもしれない。 問題はどうやって時間を取るかだな。

このぐうたらな私にも実践できる時間管理法を見つける必要があるのかもしれない。

いや、Webをぼーっと読んでる時間をなんとかできれば それだけで生産性は数倍になりそうな気がする。

はっ、こんなことを書いたら、 もしかして編集の人にネットを切られるかもしれない。

_ [Ruby] 六月水無月はぶにっき - Railsが普及した次の世界を想定すると・・・

はぶさんのところ。 冷静な視点が心地よい

んで、Ruby。というかRails。多分定着するんじゃないですかね。で、また酷いシステムが乱造されるのよ(w 来年くらいにね日経コンピュータあたりで「Railsは基幹系に適用可能か?」みたいな記事が出てね、んで先行事例みたいなのが出てきて、再来年くらいに適用が進んでくる、と。そうすると 2010年くらいにはStruts的な位置づけになってくるんでしょうね。一方で多分アンチRailsというかオルタナなRuby製のフレームワークも色々と出て来るんだと思います。

_ [言語] 新言語 Xtalを作る日記 - Xtalの多値

Xtalの多値について。Xtalでは多値と配列では(効率以外は)同じ意味を持つように したのだそうだ。「じゃあ多値要らないじゃん」という印象も持つが、 純粋に最適化手法としてとらえれば良いのだろう、きっと。 シンプルで悪くないと思う。

ただ、多重代入で

a,b = [1,2,3]

a = 1
b = [2,3]

になるのは正直いかがなものかと思う。単純に切り落として

a = 1
b = 2

にした方が良いのではないかな。でないと、

a,b = [1,[2,3]]

と区別が付かないし。たぶん、切り落とすことで情報を失うことを嫌ったのだろう。 気持ちはわかる。

逆に「わかりにくい」と指摘されているRubyのブロックパラメータの

yield 1,2,3

yield [1,2,3]

の区別も、結局は情報を失うことを嫌ったものだから。 人のことは言えない。

1.9ではyieldと多重代入の仕様がちょっと変わっているのだから、 この機会にいっそ情報喪失を恐れずこの区別をなくしてしまうか。

_ [Ruby] 「企業システムとRuby with CTC」セミナー

朝から米子便で東京へ。 帰りが遅くなるので出雲便では間に合わないのだ。 ANAは久しぶり。

で、六本木のオリベホールへ。 Tim BrayやCharles Nutter、Thomas Eneboとお昼ご飯を食べながら雑談。

1時から開幕。

まあ、聞いたこともないような話ではないが、 なかなかおもしろいイベントであった。 Timがステージから落ちたり(低くてよかった)。

あとはイーシー・ワンやCTCで 実際にRuby on Railsを業務に使っている事例が紹介されたのは ビジネスユーザには参考になったのではないだろうか。 Railsだって万能ではなく、適材適所であるということが 明示されていたのも好感度が高い。

最後に私のプレゼン。 世の中の動きが速くなり、 ソフトウェアの重要度が高くなり、 ビジネスに直結するようになるにつれ、 ソフトウェア開発に「うまい・はやい・やすい」が求められるようになり、 それを解決するためもっとずっと生産性を高めることが必要になる。 その手段(のひとつ)がRuby(やRails)である、というような話。

ところで、ビジネスクリティカルという話で、 先日のANAトラブルについて触れたのだが(非難するわけではなく、 ソフトウェアのトラブルがビジネスに大きな影響を与える例として(明日は我が身だ))、 聴衆の中にANAの関係者がいて、担当者は青い顔をしたという話を耳にした。

うーん、言葉には気をつけないといけない。

本日のツッコミ(全15件) [ツッコミを入れる]
_ なひ (2007-06-16 08:31)

「最近のまつもとさんの講演は変わった」と聞いてたんですが、確かに変わっててびっくりしました。<br><br>「コミュニティを」と主張する人をML界隈で見掛けたことがないのはどうなのか。今どきはrubyのコミュニティってどこにあるんでしょ。ML読んで議論に参加するだけじゃ足りないのかな

_ まつもと (2007-06-16 09:45)

私の講演、変わってました? 自覚はないんだけどな。<br>どう変わってましたか?<br><br>「コミュニティ」という言葉はあまり好きじゃありません。<br>好きな人がてけとーにMLでわいわいやるのを外から「コミュニティ」と呼ぶのは勝手ですが、それって実体のない存在だと思います。問題は参加している個々人でしょう。

_ なひ (2007-06-16 14:32)

ビジネスとか、問題提起とか、「大人」な感じ。でも喜多さんに聞いたら前日は「愛」だったそうで、たまたまかも(フォロー)。Timみたいに前後半分けて、前半は好きなことしゃべるとか(偉そう)<br><br>ANAの件はメモリ故障だそうですね(6/13発表)。時事ネタは難しい。

_ RubyLove (2007-06-16 15:45)

多重代入の件、反映するなら今の内という気がします。エンタープライズで本格的に使われ始めた後に変更すると、作者の意図とは無関係にバグだと認識されかねない。Rubyは統一感があってきれいなところが特徴的な言語だと思っているので、自分的に多重代入の変更は行った方が好みです。その方がきれいな感じがします。

_ 元職業プログラマ (2007-06-16 18:55)

僭越ながら申し上げますが、多重代入において、代入元の要素数と代入先の変数の数の対応がとれない場合は、最後の変数だけには、特別に、Lispでいう所のcdrに相当するものが代入されるという考え方では如何でしょうか?<br>yieldの"情報喪失"についても、賛同できかねますが、如何でしょうか?

_ まつもと (2007-06-16 19:03)

それってまさにXtalの代入ルールですね。>cdr相当を代入<br>上記の理由であまり賛成しません。

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

「cdr相当を代入」する事は、再帰呼出し処理や、可変長データを引き渡すときに重宝すると思ったのですが、ダメだったでしょうか?<br>既にご存知と思いますが、Haskellも"x:xs"とした時に、xにcar相当、xsにcdr相当が代入されますが、これは非常に良い仕様だと思っております。<br>また、何よりも"情報喪失"というのが美しくないと考えております。

_ 元職業プログラマ (2007-06-16 20:31)

「可変長データ」->「固定長データの後に可変長データを付加したデータ」と訂正させていただきます。

_ まつもと (2007-06-16 20:58)

Haskellの"x:xs"のように一番最後の引数にかならず配列が入るのであれば、使い勝手は悪くないように思います。その場合には<br> a,b = [1,2]<br>は<br> a=1<br> b=[]<br>になるべきでしょう。ただ、そのような使い勝手のためにはRubyでは<br> a,*b = 1,2<br>という特別の文法が用意されていますから通常の代入には不要ではないかと思います。

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

「a,*b=1,2,3」という文法があるので、「a,b=1,2,3」で同じ事を行う必要が無いという事につきましては、気がつきませんでした。大変申し訳ございませんでした。<br>ただし、そうだとすれば「a,b=1,2,3」は、"情報喪失防止"(この場合失われる情報は'3')の観点からエラーにした方がよろしいのではないかと思いますが、いかがでしょうか?

_ ささだ (2007-06-17 02:48)

a, b = 1, 2, 3 をコンパイル時エラーにすることに反対派しないんですが、ary=[1,2,3]; a, b, = *ary を実行時エラーにするかどうかは難しいところな気がします。まぁ、これもエラーだったら楽なんだけど。

_ 元職業プログラマ (2007-06-17 07:32)

「ary=[1,2,3];a,b,=*ary」の場合も"情報喪失"が発生(1.8.5では発生)するならば、エラーにすべきではないでしょうか?<br>=という演算子の意味は、基本的には、全ての情報を漏れなく「代入」(複写)するという意味だと思いたいからです。<br>=の演算子の意味は、実は「代入」ではなく、「射影」であるというならば話は別ですが。

_ まつもと (2007-06-17 08:16)

気持ちはわかるんですが、エラーになるとそれをちゃんとハンドルするか事前にエラーが起きないようにチェックする必要があり、結果的に繁雑になることの方が多いように思います。<br>そういう実用上の理由で、デフォルトでは切り落としを選択しています。<br>これを変えるつもりはありません。

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

処理性能も重要だということであれば、納得いたしました。ご返答有難うございました。

_ とおりすがり (2007-06-20 10:53)

初期のリブレットの頃に、外見がこれに類似したポインティングデバイスが液晶横に付いてました。ただしクリック機能はないので別物でしょう。<br>トラックポイントとの比較ですが、TPのトラックポイントでもクリックはできますよ?欠点はこの大きさだとG,H,Bの間に配置できないことですね。今も昔も、ホームポジションから動かさずに操作できるのがトラックポイントの最大の強みだと思います。

お名前:
E-mail:
コメント:
[]

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

track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.