ハッカーと画家:11章 100年の言語
印象的だった箇所の要約
- プログラム言語はコアとライブラリから成っていて、良いデザインの言語はコアがシンプルである。
- ハードの処理能力を意識しなければ言語のコアはもっと単純にできる。
- プログラム言語の乗り換えは技術者に時間的コストを強いるし慣れない言語は醜く見える。People are strange, when you're stranger.
感想
2はJoel Spolsky風に言えばハードの性能に起因する「抽象化の漏れ」が100年後には限りなく減っているということでしょう。
1は同意なんだけど、ライブラリの機能はコアによって書かれるんだから大事なのはそっちでしょ、という風にとっていいのかな?まあ大抵の言語はそうなんだけど、それによって3の乗り換えコストが増大しててさらに言語の百花繚乱で目移りしちゃって私。でも困るなんて口が裂けても言いません。
まあ、この章ではテーマが100年の言語なんだから当然乗り換えコストなんて点数に入らないか?
でも100年後の言語はもちろん唯一じゃないわけで、それ考えたら乗り換えコストも言語の進化それ自体のためには考慮すべきでしょう。だからライブラリも抽象化されてないとおかしい。
で、それをやってるのが.Netなわけだ。PythonやHaskelまで同じライブラリで動くという。ほんとに完全に抽象化できてるのかは試してないけど、どっちにしろ今のところベンダ依存(Monoがあっても現実的にはまだ...)。
.Netと言えばJoel On Softwareには「Whatが重要でシンタクスは重要じゃない」って書いてあってフーンって思ったけど、Paul Grahamは逆にシンタクスにこだわる人のようで。コードを書くことが生活により密着している人のほうがきっとシンタクスにはこだわるわけで、そのへんに両者の違いを感じました。