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

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

合ってるにせよ間違ってるにせよ、公衆の面前で恥をさらすのはやだくないよ。どちらにしてもボクの思考だもの。仁和寺のある法師。むしろメールで閉じるのがヤダ。で、本題に関しては意見がズレてるね。とりあえず今日はここまで。おやすみ RT @KURUMA_Keizo (メールでやれって?

2012-03-27 01:06:23
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo あ、あと、ボクの主題は、ボクの考えてることの正しさの主張じゃなくて、4年前に関数型言語と圏論を勉強してみようと思ったモチベーションの源泉はどこにあるかということの説明だからね~あしからず とはいえ、考えを整理したいので議論はウェルカムですよん

2012-03-27 01:16:30
kk @kkf7th

@Okocha_Makocha ありゃホントだ論点すれ違いまくりだね失礼しました。

2012-03-27 09:09:39
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo 昨日の続き。ボクが述べてるマルチコア対応って1プロセス1スレッドっていう単位じゃないんだな。1プロセスをメニーコアで分割して並列に処理する世界を念頭においてる。

2012-03-27 22:23:04
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo メニーコアも現在基準の8コアっていうレベルじゃなくて100コアとかそういうオーダー。そのオーダーは近い将来に実現するよ。 その世界になったら設計テクニックで資源の有効利用を狙うのは無理

2012-03-27 22:30:02
OkochaMakocha @Okocha_Makocha

@KURUMA_Keizo 有眠資源も管理しきれなくなるだけじゃなくて、今でさえスレッドセーフなマルチスレッドプログラミングは難しいのに、さらに考える要素が増えたら人間に最適化を任せてはいけないよ。

2012-03-27 22:34:09
OkochaMakocha @Okocha_Makocha

元々プログラミング言語の進化は、アーキテクチャを意識させない抽象化にあるよね。ポインタがオブジェクトとなったり。 なのにマルチコア前提になっただけで、アーキテクチャを意識した設計しないと資源を有効に使えないなんておかしいよ

2012-03-27 22:43:32
OkochaMakocha @Okocha_Makocha

だからマルチスレッドプログラミングテクニックで何とかできるって視点は最初から眼中外。 ボクのマルチコア対応の要求は、1プロセスをメニーコアで(プログラマに意識させることなく)資源を最大有効に使う並列処理をすること、にある

2012-03-27 22:49:37
OkochaMakocha @Okocha_Makocha

という前提なので、プロセス内で状態を管理せざるえない、副作用がある状態では、マルチコアを活かせない…って至ったんだよ。 もっと低レベルでマルチコアを抽象化してアーキテクチャを意識させない仕組みにしないと人間には無理だと

2012-03-27 22:55:58
OkochaMakocha @Okocha_Makocha

で、そんな時にHaskellに出会って('06~'07の話ね)、参照透過性が確保されるなら、低レベルがマルチコアを抽象化してくれるはず!って期待したのさ。 実際パフォーマンス、だんちでいいらしいしね

2012-03-27 23:03:19
kk @kkf7th

@OkochaMakocha うーむマルチコアの有効活用についてはだいぶ意見違うなぁ。ま、意見が違うのは別に悪いことじゃないよね。

2012-03-28 01:36:15
kk @kkf7th

「利用者に意識させない」ことは理想なんだけど、意識しなくてもうまくいってれば最高。制御できなくてうまく動かせない、は最低だよね。 メモリ管理の話も似てるんだけど、下手な隠蔽で余計につらい、という経験を仕事上で何度もしてるから、懐疑的になってるところがある。

2012-03-28 01:41:57
kk @kkf7th

多分「意識しなくてよい」技術のおかげで助かってることも多いはずなんだけど、記憶に残らなくて、「制御できない」で苦労するとそれが強く記憶に残るんだろうね。

2012-03-28 01:45:28
kk @kkf7th

例えばIntelとMSがマルチコアCPUを売り始めたころ、IISがHTTPリクエストをリクエストごとに別スレッドで処理するやり方をしてたんだけど、それって窓からPC投げ捨てたくなるほど性能出なかったんだよ。 でも同じマシンで協調型マルチタスクだと性能出たんだ。そういう経験が

2012-03-28 02:01:42
kk @kkf7th

そんな経験が数多く積み重なると「新しい技術を売る人間が あなたは面倒なことを一切気にしなくていい なんて言ったら、そいつは絶対信用するな」という信念が、大きく育つ。 でもそれで間違ってないと思ってるよ。 「ほとんど気にしなくていいけど、ここだけ注意して」という人は信用できる。

2012-03-28 02:11:27
kk @kkf7th

似た話で、ムーアの法則を自分のダメ仕事の言い訳にするやつは嫌い。ムーアの法則を先導するようなすごいものを作る人は好き。 だからSunJavaは大嫌いで、IBMJavaは好き。Forte(SunOneStudio)は消えてWebSphereが生き残ってEclipseになったでしょ。

2012-03-28 02:26:14
kk @kkf7th

なんでForteがカスでWebSphereが速かったかって、WSはJNI使いまくってプラットフォーム依存だったからだ。Sunはよく「それは気にしなくてよい」的なことを言った。でも歴史が示してる。「一切気にしなくて良い」派は「少し気にして作る」陣営に常に負けるんだ。

2012-03-28 02:44:47
OkochaMakocha @Okocha_Makocha

元はボクが興味をもったキッカケの話だし、ボクがあってるかまちがってるかはわからないからね。 RT @KURUMA_Keizo: ま、意見が違うのは別に悪いことじゃないよね。

2012-03-28 08:34:00
OkochaMakocha @Okocha_Makocha

ある意味「ぼくがかんがえるさいきょうぷろぐらむげんご」的な中二厨くさい話だし、意見=ビジョンが違っててあたりまえだよ RT @KURUMA_Keizo: ま、意見が違うのは別に悪いことじゃないよね。

2012-03-28 08:37:10
OkochaMakocha @Okocha_Makocha

そういや前にガベージコレクションの時も同じ構図で意見が食い違ってたね。どちらも「隠蔽技術こそ未来派」vs「信用できないから制御させろ派」の構図だね RT @KURUMA_Keizo: 下手な隠蔽で余計につらい

2012-03-28 08:43:06
OkochaMakocha @Okocha_Makocha

期末がボクの手を離れ始めてるので、落ち着いて考える時間がやっとできたので今朝の続きを ボクと @KURUMA_Keizo は、「隠蔽技術こそ未来派」vs「信用できないから制御させろ派」の構図対立があるね 今回だけじゃなくて過去にはGCでも似た構図で対立したね って分析した状態から

2012-03-28 15:56:50
OkochaMakocha @Okocha_Makocha

この構図って「道具」という一般論に抽象化できる。 「複雑な作業は人間が考えながら並行するのは危険だから道具でカバーしよう」と【道具のあるべき姿を模索する】ことと 「現状、その道具のデキがプロの使うレベルじゃない」とプロのこだわりで【道具を評価すること】は、 違うレイヤの議論だよ

2012-03-28 15:57:12
OkochaMakocha @Okocha_Makocha

『「一切気にしなくて良い」派は「少し気にして作る」陣営に常に負けるんだ』っていう指摘は、プロの道具の選び方=プロが望む道具の要件=プロ仕様の道具じゃないとプロの仕事はできないっていう普遍的な主題だけど、ボクの興味は【道具の選び方・使い方】じゃなくて【道具そのものあるべき姿】なのね

2012-03-28 15:57:31
OkochaMakocha @Okocha_Makocha

GCの時も全く同じツイートした記憶があるけど、 例えば昔の大工の棟梁が現場で素材を直接削って環境最適な部品を一から創りだすような、技術者がOSに近いような低レベルで環境に最適化した部品や基盤をつくりたがる指向があるのは、DNAレベルの伝統だよね。日本は職人の国だから、の所以だけど

2012-03-28 15:57:51
OkochaMakocha @Okocha_Makocha

現在の大工は、現場でいちいち部品を創りだすプロジェクトは0とは言わないけど少なくなってるよね。部品化されたモジュールを組合わせるのが色んな意味で効率がいいので、伝統の工法は経済的に淘汰されてしまう。道具の進化と仕事のスタイル変化は合わせて一式だと思う

2012-03-28 15:58:20
前へ 1 ・・ 4 5 次へ