« チープだけど効果的な「ソリューション」 | トップページ | プロジェクト管理ソフトウエア »

2006年8月30日 (水)

「アーキテクトはコードを書くべし」

I've been reading a great book from the Pragmatic Programmer group called Practices of an Agile Programmer. One of its chapters is titled "Architects Must Write Code", which includes this gem: "Real insight comes from active coding." Tim Lindholm, Distinguished Engineer and Java ME Architect, put it more succinctly eleven years ago when we worked on the JDK team together: "there are coders and there are bullshitters*." (I hope he is still coding now that he is an architect!)

Tom Ball's Blog: Is Writing Code a Career Limiting Move?

「アーキテクト」(設計者)はコードを書くべきで、なぜなら、実際にコードを書いてみることで、ソフトウエア設計に対する現実的な視点が得られるのだから、という主張です。

Java ME のJDK開発時に、Tim Lindholmという人は、こう言ったとか:「ここには、コードを書いている人間と、たわ言ばかり言っている人間がいる」

ソフトウエアの設計というものは、詳細なレベルになるほど、プログラミング言語の影響をものすごく受けると思います。したがって、そのプログラミング言語で、実際にコードを書き、充分に精通していないと、まともな設計はできないと思います。

以前、RDBMSを使用した、C/S型ソフトウエアの詳細設計書で、明らかにCOBOLを意識して書かれたものを見たことがあります。そこには、「入力ファイル->処理(プログラム)->出力ファイル」が延々と連なっているフローチャートが書かれていました。

それで、実装はどうなっているんだろうと、データベースを覗いてみますと、大量の「ワークテーブル(ワークファイル)」が作られていました。複数ユーザで同時に使用することは考慮されておらず、データベース全体を、そのプログラム1つが「占有」するような作りだったように思います。

結局のところ、ソフトウエアの設計を適切に行なうには、その時点での、OS、ミドルウエア、そして、プログラミング言語に精通していなければならない、ということですね。そして、精通するためには、実際にコードを書いていなければならない、ということだと思います。プログラミングの「環境」、そしてソフトウエアの設計方法は、時代とともに変わっていきますから。

|

« チープだけど効果的な「ソリューション」 | トップページ | プロジェクト管理ソフトウエア »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« チープだけど効果的な「ソリューション」 | トップページ | プロジェクト管理ソフトウエア »