deltam's scrapbook

主ブログ<サルノオボエガキ
Tumblrについての記事→

権利侵害の画像などがあったらdeltam@gmail.comまで教えてください,削除しますので。

写真Post一覧 -> たんぶらびゅーあー

Posts tagged programming

May 2

Dec 11

Jan 12
“もしかしたら将来的には「演算結果は一意に決まらないけれど高速」か「演算結果は一意に決まるけど低速」な演算のどちらかを選ぶという時代が来るのかもしれない。あるいはもう数値計算の結果は確率的に決まるというのが常識になり、足し算の答えが一意に決まるなんて21世紀初頭までの牧歌的な考え方と見なされるようになるのかも。” 2010-01-08 - potasiumchの日記

Dec 31
“ジェイミー・ザウィンスキーは私が「ダクトテーププログラマ」と呼ぶ人間だ。私は大いなる敬意をもってそう呼んでいる。彼は未来を作るために熱心に働き、みんなの役に立つものを生み出す。ゴーカートを作る開発チームには是非欲しい人間だ。彼のお気に入りの道具はダクトテープとWE-40で、時速100キロで丘をガタガタ駆け下りている真っ最中にそれを見事に使いこなす。同じ頃他のプログラマたちはと言えば、まだスタートラインにいて、チタンにしようか、それともボーイング787ドリームライナーで使われている宇宙時代の超合金にしようかと議論している。

彼の作るゴーカートは継ぎ接ぎに見えるかもしれないが、しかしそれは間違いなく動くだろう。”

ダクトテーププログラマ - The Joel on Software Translation Project

超プラグマティック・プログラマー カコイイ!!


Sep 17

実は、多くのプログラマは、何らかの形で継続渡し形式を既に使っている。 現実の問題にはよく出てくるのに、 構造化プログラミングでは非常に書きにくいパターンというのがある。 熟練したプログラマなら経験的にそういうパターンを処理していて 敢えて自覚していないかもしれない。 そのようなパターンは、継続を主体に考えると統一的に理解できるのだ。 ポイントは、外部の処理を呼びたいのだが、 呼び出して戻り値を受け取るという形式が使えないケースにある。

例えばユーザインタフェースだ。処理の途中でユーザーに何か 入力を促し、その結果を使って処理を続けたいことは良くある。 しかし多くのGUIプログラミングでは、ユーザーの入力を受け付けるためには 一度GUIのイベントループに戻らなければならない。 したがって、プログラマは 処理をユーザーの入力の前にやる処理Aとユーザーの入力の後にやる処理Bに分けて、

1. 処理Aの最後に入力ウィンドウをポップアップし、イベントループに戻る
2. 入力ウィンドウの “OK” ボタンが押されるイベントが発生した時に 処理Bが呼ばれるようにする。

という具合にコーディングしているはずだ。 この時、まさに処理Bは処理Aの「継続」なのだ。 (Webアプリケーションにも全く同じ原理が使えることを指摘しておこう。 ユーザーからの入力が必要になった時、Webアプリケーションは一度 入力フォームを吐き出してhttpサーバに制御を戻さなければならない。 「普通のやつらの上を行け」でPaul Grahamが述べているYahoo! Storeの システムはまさにこの技術を実装している。アプリケーションは 継続をクロージャにラップしてセッションIDをキーとするハッシュテーブルに 登録しておき、httpサーバはユーザーからのフォームのsubmitがあると セッションIDを元に登録された継続を呼び出すのだ。)

なんでも継続

ほーーーー!


May 30
“なにしろこれまでの経験で思うのは、ソフトウェアで仕事をするには、作ったものが「資産」になる仕組みでないとやってられん、ということだ。” 人生を書き換える者すらいた。: サラリーマン辞めて4周年