ボクが関数型言語に興味をもったわけ ~「ハッカーと画家」と出遭って夢みた、ボクが考えたプログラム言語のあるべき姿を語りたい~

ボクは'06~'07に関数型言語に興味を持ちました。 その切欠は「ハッカーと画家」と出遭ってポール・グレアムに憧れたことにあるのですが、当時だいぶハッキリ見えてきたプロセッサにおけるムーアの法則が終わりそうだというニュースとか、クラウドとかが影響していたりします。 志した時、何かを夢みてたはずなのに、4年経っても未だ何も成し遂げていない、自分自身に最近はらがたってしょうがありません。 @KURUMA_Keizo との会話の中でしばしば、この話題がでるので、4年前、当時ボクが何を考え、何に興味を持ったのかを振り返って、初心に帰りたくてトゥギャってみたよ!
3
kk @kkf7th

世の中が流れてから方向決めて学習を始めた所で、追い付かないでしょう?優秀な人は皆次のテーマ選びで胃を痛めながら日々自分が信じた方向へ黙々と進んでいるのであって、後だしジャンケンとか風見鶏に付き合う余裕は無いんじゃないかな、とか呟いてみたり

2011-05-16 21:15:10
OkochaMakocha @Okocha_Makocha

休憩中ビール飲みながら @KURUMA_Keizo のHPみました。何点かボクの勉強のため教えてください。 ボクは既に企画の人間で実装の最前線にいるわけじゃないので、開発者どおしの会話ではなく「技術しらないくせに何いってるんだコノヤロウ」的な形で教授いただければ幸いです。

2011-05-21 14:07:13
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo 1. 「GCは結局プログラマを楽にしない」がピンときません。プログラマにとってメモリの状態を意識することが、はやり現代でも必要だという視点でしょうか?

2011-05-21 14:10:36
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo 2. 「最終的なソート処理をクライアント側へ持っていく」ことについて、ボクは非機能要件レスポンスタイムの問題は7割がクライアントサイドの処理時間だと考えています。更に最終的なソート処理をする余力がクライアントサイドにあるか疑問です。

2011-05-21 14:13:27
kk @kkf7th

うぅ、なんか宿題もらった気がする...@Okocha_Makocha GCの件、「メモリの状態を意識することがプログラマの幸せにつながる」では、もちろんないです。実はオイラの意見を丁寧に書くと論文になっちゃう。端的には、GCは利点同様に弊害も沢山あり、GCの次を考えないとって事

2011-05-21 22:06:06
kk @kkf7th

@Okocha_Makocha 明確に機能要件として応答時間がある案件もあるよ。例えば「検索ボタン押してから3秒以内に表示」は、利用者からしたら当たり前の要求だけど、「これってGoogleのミニを作れってことじゃんよ」で、RDBにSQLたたくだけじゃ無理、てのもあると。

2011-05-21 22:22:00
kk @kkf7th

オイラの職業上のカンでは、CPU性能に対して、通信の待ち時間がどんどん相対的に増えてる。 この予想が正しいと、「サーバ上で全部ソート完了してから一気に応答」だと無駄。

2011-05-21 22:28:46
kk @kkf7th

かな漢字変換で、変換キー押されてからじゃ遅いから、人間が入力してる間にウラで検索して...てあるでしょ。それに習い、サーバ上では"order by"しないでメモリ上にある不定な順でいいから細切れで送信。ソートは、パイプラインの最後で、サーバとは別のCPUでやればいいのに、て話

2011-05-21 22:30:53
kk @kkf7th

2段DBってのがあって、フロントエンドDB3台、バックエンドDB5台とかで、(1)フロントエンドはクエリ解釈と分配、(2)バックエンドが実際のストレージ拾って、(3)Fr.Endがマージして返す、と。それの(3)をブラウザ側でやることにしたら?って話。

2011-05-21 22:33:43
kk @kkf7th

@Okocha_Makocha 蛇足だけど、最近は「個々の処理は軽いけどクライアント数がやたら多い」のもあって、C10K問題とか http://www.kegel.com/c10k.html 呼ばれてる。Client10Kilo。

2011-05-21 22:38:22
kk @kkf7th

インテルとMSの高性能CPU販売戦略で、リクエストごとにスレッドあてる手法が発展した。それだと1kクラ位で頭打ちになってしまう。「昔ながらの非プリエンプティブなつくりだと10倍でもこなせるよ」それでlibevent、libev、それを利用するV8とかnode.jsが着目されてます

2011-05-21 22:39:48
OkochaMakocha @Okocha_Makocha

元々、@KURUMA_Keizo の記述に興味持ったのは、ちょうど今 「ガベージコレクションのアルゴリズムと実装」 http://amzn.to/mvM6q5 という本を読みかけている最中だったから。とりあえずGCが必要悪である最大の問題点は走るタイミングを制御しにくいことかな?

2011-05-22 20:36:45
拡大
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo おぉ、それについてはオレの表記が悪かった。もちろんレスポンスタイムの議題ッス 「Webサイトの高速化 フロントエンドのパフォーマンスの重要性」 http://bit.ly/mB8MGI で示されてるとおり、レスポンスタイムの大部分はFEの問題かと。

2011-05-22 20:47:38
OkochaMakocha @Okocha_Makocha

@Okocha_Makocha @KURUMA_Keizo が指摘する(CPU性能に対する)「通信の待ち時間」の相対比とは、このフロントエンド側の遅延が問題ではないかという視点です。その予想が正しいと、「クライアントにはソートする余裕が無いのでは?」という発想だす

2011-05-22 20:55:00
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo ミドルエンドでソートを専門に担当するアーキテクチャは確かに有効だろうね。でもそれってサーバー側のアーキテクチャに吸収される議論では?(クライアント側からは意識すべき?)っていう気もする。どうなんだろう?まぁクライアント側に余裕が無いという前提ですが

2011-05-22 20:58:11
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo node.jsが注目されている理由が、C10K問題の解決として非プリエンプティブな制御が有効との視点があることを初めて知りました。教えてくれてありがとう。その視点でも勉強してみます。結城さんが日本語訳してるみたいだけど、今リンクが切れてるね…

2011-05-22 20:59:59
kk @kkf7th

1分かかるクエリでも3秒で画面出すには、[今できることを随時やる、後で挿入もできる]HTMLでないと。"@Okocha_Makocha: でもそれってサーバー側のアーキテクチャに吸収される議論では?"

2011-05-23 07:35:52
OkochaMakocha @Okocha_Makocha

了解。「機能要件」レスポンスタイムだね。確かにボクが言ったのは非機能要件限定だね。 RT @KURUMA_Keizo: 1分かかるクエリでも3秒で画面出すには、[今できることを随時やる、後で挿入もできる]HTMLでないと。

2011-05-23 08:13:51
kk @kkf7th

F#は究極に真っ黒ですねw "@masui: 「C#って何?」「長調も短調も黒鍵ばかり。要するにCより使いにくいことを目指したものなんだ。」"

2011-06-13 20:04:51
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo オレはそんなことないと思うぞ。ってかそういう風に思って欲しくない。オレは車君のような根っからのクラフトマンに「ハッカーと画家」の世界を日本で提供して、自身の限界能力に挑んで欲しいんだ。それが競争力につながる。本気で昔からそう思ってるんだよ。

2011-07-10 00:39:10
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo 「ハッカーと画家」の著者、ポール・グレアムは今、こんなことしてます。 Y Combinatorに見るスタートアップ成功の秘訣、“ピボット”とは?http://bit.ly/rlh6ut ラーメン代だけでピボットを継続できるのはクラフトマンだけだ

2011-07-13 08:18:24
kk @kkf7th

@Okocha_Makocha: ありがとう。「ハッカーと画家」読んでみます。

2011-07-13 12:44:37
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo には是非読んでほしい。ボクが今、何を理想として、何をつくりたいのかを共有できたら嬉しい。 RT ありがとう。「ハッカーと画家」読んでみます。

2011-07-13 13:06:51
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo 是非、第12章「普通のやつらの上をいけ」を、その小段「ベンチャーのための合気道」を読んで欲しい。クラフトマンは自分の限界性能に挑むところにクラフトマンの価値がある。もちろんそのチャレンジをバックアップする社会インフラの構築が必要だけど、それはまた別な話

2011-07-14 01:35:28
kk @kkf7th

楽天booksで 「ハッカーと画家」 「月は無慈悲な夜の女王」 「窓の外は向日葵の畑」 をポチりました。

2011-07-16 09:26:39
1 ・・ 6 次へ