C++ は修理が必要か?
なんというかこれを思い出しました.
New Yorkで3月に開催されたAjax World East2008で、YahooのDouglas Crockford氏が、「Webを修理できるか」という題で講演しています。
- 講演を紹介したブログ:Crockford Speaks on “Fixing the Web” and Appears on Channel 9
- MSDNのチャンネル9でのインタビュー:http://channel9.msdn.com/Showpost.aspx?postid=391047
- 講演内容のPowerPointスライド:http://yuiblog.com/assets/crockford/crockford-fix.zip
Douglas Crockford氏はJavascript分野で大変有名な人らしいですが、講演内容を見ますと相当にショッキングな内容です。
スライドをピックアップして紹介します。
- Webブラウザは、Ajaxのために設計されたものではない。賢い人たちが動かし方を見つけだしたもの。(スライド4)
- 我々は既にブラウザのポテンシャルを探索し終えた。(スライド5)
- Ajaxは、不必要に複雑であり、実装も変化しやすいが、それは最大の問題ではない。(スライド6)
- セキュリティが最大の問題。(スライド7)
……
言われてみれば確かに.世の中,このパターンは少なくないかも.
IA-32 にしても Windows にしてもまさにそんな感じで,設計からやり直すべきだろと言われつつ,賢い人たちが大量に流入した結果,何だかんだで「動かし方を見つけ」続けて今に至る,みたいな.
それはそれとして Douglas Crockford 氏の主張を斜めから見て面白いなと思うのは,「(その手の物は)不必要に複雑であり,実装も変化しやすいことが問題ではあるが,それよりもっと問題なことがあってそれは問題」というその辺でしょうか.
確かに.
主流であるがゆえに賢い人たちが大量に流入し,「動かし方を見つけ」てしまった技術が複雑なのはそもそも定義上複雑であたりまえという気がします.そして,その複雑さよりも問題な性質が浮上してくれば,それはホントに「問題」だと.それこそが主流を脅かすものである.ふむ.なるほど.
その視点で再び "賢い人たち-driven" で進化してきた歴史ある主流な言語を眺めるとして,「生い立ちによる不可避な複雑さ」よりも問題になる点が何かと考えると,それは例えば「賢い人たち」の興味を惹き続けられるかとか,「言語という括りで商業主義のレールに嵌めたがる人々」とどう付き合っていくか,みたいなところはあるかもしれません.
宿題
世の「賢い人たち」の数が今の 10 倍になればソフトウェアやハードウェアの設計と進化に何が起きるか?
あるいは,世の「賢い人たち」の数が 10 分の 1 だった時代はどうだったのか?