これ、Perlにも言えてるな(苦笑)
革命の日々!-誰も読まないOSのソース・コード結局いいたかったのは
- Linuxはそんなにバグバグじゃないよ。コードの質たかいよ
- でもuglyな仕様は、すごいたくさんあるよ。そこはuglyさ加減を楽しもうよ
- C言語できなくても気にすることないよ。カーネル読んでいけばそのうち覚わるから
- 赤松ナントカはシッタカ・うそつき
というより、ある程度以上の規模と歴史を持つソフトウェアなら、ほとんどこれが成立すると思う。
もう昨今のLinux KernelとかPerl5とかといったものは、もう原作者だって全貌を知らない。いや、そのモジュールの一つに過ぎないEncodeだってメンテナー全部知らない(爆笑)。だってあれは*.pmや*.xsだけでなくて、*.ucmまで全部読まないと「読んだ」ことにならないんだもの。
wc `perl -aple '$_=$F[0]' MANIFEST` | perl -ple '1 while s/(?d+)(?d{3})/$1,$2/' Lines Words Bytes Encode-2.15 287,435 1,667,127 10,527,592 total Perl-5.8.8 1,606,151 6,931,075 52,846,372 total
これをすみからすみまで読んでいられるほど長い人生の人なんてそうはいないべ?
こういった「巨大なソースコード」とつきあうにはどうしたらいいか?
ただ、いきなりこれをぽーんと渡されても、どこから手をつけていいかわからないだろう。
でも大丈夫。「両側」から責めればいい。
一つはボトムアップ。自分が知っている領域から切り崩して行けばいい。こうした大きなものは、単に大きいのではなくてちゃんとフラクタルな構造になっている。
しかし、それだけだとまだ世界を眺めたことにならない。そこで登場するのがトップダウン。要はその世界の構造を決めた人の言葉に耳を傾けるわけだ。CならK&R、BSDならBeastie、PerlならCamel、といった具合に その点やっぱRubyistは恵まれているよなあ。教祖の言葉を日本語できけるんだもん。
それで、ソース読みだけど、カーネルの方がPerlよりも駱駝と思うよ(←Larryの親父ギャグ)。マクロでまっくろだもん、Perl5のソースって。PugsるのにHaskell砲を使ったAudreyは、やっぱすごい美的感覚に優れていると思う。もっとも一旦SVがわかっちゃえばこっちのものなんだけどね。
私がPerlのソースを読むのは、Larryのおちゃめさに萌えたいからかな:p
あと、さらに強力なのは、「読んでる人にきいちゃう」って奴。知っている奴を知っているというのは、ある意味自分で知っているより強力だもんね。昔はこれが大変だったけど、今は検索一発だし。
重要なのは、読もうと思った時にいつでも読める事と、直そうと思った時にいつでも直せるってこと。これが当たり前のようで当たり前でなかったんだよね、実は。オープンソースとネットがもたらした一番のことは、これに尽きると思う。それ以前は「これを見たら$10萬」だったもんね。Unixのソースって貞子だったのか(爆)
それで、赤松氏なのだけど、なぜか誰もぐぐってLink載せてないようなので紹介しときます。
神戸情報大学院大学 教員紹介/赤松 徹主な研究実績
『CAP-X入門』 『最短合格シリーズ/第二種情報処理技術者試験』全6冊 『CASL集中ゼミ』『SQL集中ゼミ』『テクニカルエンジニア ネットワークテーマ別問題集』 月刊誌『I/O』(工学社)に「CAP-X入門」7年間連載 『月刊情報処理試験』(ソフトバンク)に「CASL入門」10年間連載 『LinuxJAPAN』(五橋研究所)に「NetworkTIPS」5年間連載 『日経Linux』に「カーネル2.6ネットワーク」を連載開始
CAP-Xですかそうですか。
Dan the Source Surfer
ぐぐる様が教えてくれないと思ったらそんな古い話なのですね。納得
>Linuxはgccべったりなのですね……。
>GNU/Linuxと言うべきという主張を聞いたときは「なんでかな?」と思って>いたのですが、それなら納得です。
これはちょっと違うかも。
gcc自体はライセンス解釈として、gccの生成物(実行ファイル)に対してライセンス上の derivative work を適用しないとの見解がでています。
教祖のアレはもっと思想的なもので・・(以下本題が外れるので自粛)