Feedback

X
The Architecture of Open Source Applications 日本語訳

The Architecture of Open Source Applications 日本語訳

1 Ungluer has Faved this Work
大工仕事は非常に奥の深いものであり、人はみな、上達するための方法を一生涯かけて学び 続けることになる。しかし、大工仕事と建築様式は異なる。ピッチ板や留め継ぎの世界から 一歩離れて見渡せば、建造物全体を見た設計が必要になる。そしてそれは、技術的・科学的 であるのと同程度に芸術の要素もある。

プログラミングもまた奥の深い作業であり、人はみな、上達するための方法を一生涯かけ て学び続けることになる。しかし、プログラミングとソフトウェアアーキテクチャは異なる。 多くのプログラマは、何年もかけて大規模な設計の問題に取り組む。「このアプリケーション を拡張可能にすべきだろうか?」「仮にそうだとして、その手法はどうする?スクリプトで拡 張できるようにするのかプラグイン的な仕組みを取り入れるのか、あるいはまったく異なる 別の方法を考える?」「クライアント側でやるべき処理とサーバー側でやるべき処理の切り 分けはどうする?そもそもこのアプリケーションを “クライアント・サーバー” 型で考えるの は適切なのか?」といった問題だ。これらの問いは、プログラミングに関するものではない。 「階段をどこに配置するか」という問いが大工仕事とは関係ないのと同じことだ。

建築様式とソフトウェアアーキテクチャには共通点も多いが、決定的な違いがひとつある。 建築家はその生涯を通じて何千ものビルについて研究を重ねるが、大半のソフトウェア開発 者はほんの一握りの大規模ソフトウェアしか知ることがない。しかも、その数少ないソフト ウェアは自分たちが書いたものであることが多い。ソフトウェア開発者は歴史上の偉大なプ ログラムを振り返ることもないし、そういったプログラムの設計に関する熟練者の批評を読 むこともない。その結果、先人の成功例を参考にすることもできずに同じ過ちを繰り返す。

そんな状況をどうにかしたいと思って本書を書いた。各章では、オープンソースアプリケー ションのアーキテクチャについて解説している。どのような構造になっているのか、各パー ツがどのように絡み合っているのか、なぜその方式を採用したのか、他の設計上の問題に適 用できそうな教訓は何か、といった内容だ。執筆者はそのソフトウェアをもっともよく知る 人たちで、何年あるいは何十年もの間、複雑なアプリケーションの設計を経験してきた。本 書ではさまざまなアプリケーションを取り上げる。シンプルなドローツールやウェブベース の表計算ソフトもあれば、コンパイラツールキットや数百万行規模の視覚化パッケージもあ る。数年前に生まれたばかりのアプリケーションもあれば、30 周年を迎えるアプリケーショ ンもある。すべてのアプリケーションに共通しているのは、作者が長い時間をかけて真剣に 設計を考えたこと。そしてその考えを皆で分かち合いたいと考えているということだ。きっ と読者のみなさんにも楽しんでもらえるだろう。

原著英語で

Why read this book? Have your say.

You must be logged in to comment.

Links

web: https://github.com/m-takagi/aosa-ja

Editions

edition cover

Share

Copy/paste this into your site: