[[diary/Kojima]]

・夏休みの宿題

というわけではないけれど,去年まで某所でやっていた
[[OSS概論の講義資料をHTML化:http://www.linet.gr.jp/~kojima/OSS/index.html]]
してみたので,興味ある人はご笑覧ください.一応,OSS概論の中の総論編といった感じで,
全15回ほどの講義の最初の4回分くらいかな.
残りはXウィンドウやネットワーク,各種言語の話題とかを取りあげた各論編なんだけど,
こっちはいつごろ手がつけられるかも分からない(苦笑

講義の雰囲気を出してみようかと話し言葉で書いてみたのだけど,文字として
読むとかなり冗長な感じなので,文書として残すならもう少し整理した方がい
い気もするのだけど,とりあえず暫定版ということで.

#comment

・Worse is better

上記の資料をまとめる際に「伽藍とバザール」を読み直したりしたんだけど,
そこで触れられていた[[LISPの歴史と現状に触れた論文:http://www.naggum.no/worse-is-better.html]]
で取りあげられていた話題.

LISP言語はMIT/Stanford的なデザインになっていて,「単純さ(Simplicity)」
「正しさ(Correctness)」「一貫性(Consistency)」「完全性(Completeness)」
を大事にしている.この4つを大事にするのはUNIXとCの世界でも同じだけど,
その考え方は微妙に違っている.

例えば「単純さ」については

 LISP:デザインは実装とインターフェイスの双方で単純(シンプル)でなければな
 らない.ただし,インターフェイスがシンプルであることの方が実装がシンプルで
 あることよりも重要.

 UNIX:デザインは実装とインターフェイスの双方で単純(シンプル)でなければな
 らない.ただし,実装がシンプルであることの方がインターフェイスがシンプ
 ルであることよりも重要.単純さはデザインの際に最も考慮すべきこと.

「正しさ」については

 LISP: デザインはあらゆる観点から見て正しくなければならない.正しくない
 ことは決っして許されない

 UNIX: デザインはあらゆる観点から見て正しくなければならない.ただし,正
 しさよりも単純さが優先される

という風に,MIT/Stanford的な哲学は実装よりもやや理論(理想)に重きを置い
てきたのに対し,UNIX/Cの哲学(著者はベル研の所在地からNew Jersey
approachと呼んでいる)は実装が単純であることをより優先して,その結果とし
て "Worse is better" とでも言うべき状況になっている,という議論をしてい
るあたりが面白かった.

「KISSの原理(KISS principle)」というのはLinuxの世界でもよく聞くのだけど,
Simpleというのも奥が深いのだなぁ,,という印象.そー言えば,Windows が
世界を制覇したのも Worse is better の延長という気がしないでもない.

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS