ニュージャージーアプローチ
「ニュージャージーアプローチ」でWebを検索したら、アリエルエリアの大谷さんの文書がひっかかりました。まあ、ひっかかったのは自分の書いたコメントですが。
固有名詞を隠して、この文書を今の人に見せれば、RoR(Ruby on Rails)の文書だと思うかもしれません。RoRはここ数年で知名度が上がりましたが、寡聞にして、Zopeの知名度がここ数年で急上昇したという話は聞きません。この差を生んだ背景は、RoR開発者のマーケティング能力の高さかもしれませんし、他にも色々と要因はあるのかもしれません。
元々、探したかった文書はこちらです。「New Jersey アプローチ」で探さないとダメだったようです。Web検索の世界のシソーラスの扱いは遅れています。
なぜ突然ニュージャージーアプローチを見直したくなったかと言うと、宮川さんが紹介している「バージョン管理システムの比較」の論文から色々とたどったからです。
- 宮川さんの記事 https://www.codeblog.org/blog/Miyakawa/20060602.html
- 紹介している論文 http://www.bsdcan.org/2006/papers/DistributedVCS-paper.pdf
- 論文がリンクしている記事「Integrals and derivatives」 http://sourcefrog.net/weblog/software/vc/derivatives.html
CVSやSubversion(SVN)のようなバージョン管理システムをsnapshotsベースと呼ぶのに対し、BitKeeperやArchをchangesetsベースと呼びます(そう呼ぼうとしているのは、changesetsベース側ですが)。changesetは導関数(微分)、snapshotは積分、という説明は分かりやすいです。
changesetsベースの主張を読んでいると「MITアプローチ」を思い出しました。つまり、対照的にCVSやSVNのsnapshotsベースは「ニュージャージーアプローチ」だなと思って、冒頭の話につながります(*)。
(*)ふと思い出しただけで、両者がそういうアプローチだと主張しているつもりはありません。そう断言できるほど、両者の開発スタイルを知っているわけではありません。
ニュージャージーアプローチは、「実装の簡単さ」を優先します。これで犠牲になるのは、セキュリティであったり、ユーザビリティ(*)であったりします。
(*)犠牲になるユーザは、エンドユーザの場合もあれば、プログラマの場合もあります。
今時、実装の簡単さの方がセキュリティやユーザビリティより重要だ、と言えば時代錯誤と見なされます。実装の簡単さを優先して、セキュリティやユーザビリティに落ち度があれば、プログラマの手抜きだと非難されるでしょう。
しかし、ぼくは実装の簡単さは重要だと信じています。セキュリティもユーザビリティも、欠陥があった時に素早く修正できることが重要だからです。こう言語化してしまうと、色々と齟齬もあります。最初から良くすべきではないか、と反論されます。つまらない結論を言ってしまえば、結局、バランスの問題です。このバランスの部分は、うまく言語化できないので、結局、コードを書かない人との議論は不毛に終わります。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/new-jersey-approach/tbping
- phpMyFAQ駆除される
- ¦
- Main
- ¦
- 素直な態度