|
|
|
全バックナンバー
技術
開発プロセス
|
製品・サービス
組織
営業
|
財務
人事・労務
産業
|
|
|
|
第207号 2008/7/21 [銀の弾]
Java技術者が時間を費やしていること
|
************************************************************** _/_/_/_/_/_/_/
ソフトウェア業界 新航海術
_/_/_/_/_/_/_/_/_/ **************************************************************
第207号 2008/7/21 『Java技術者が時間を費やしていること』 ▼ まえがき ▼ [銀の弾] (1)Javaに何が起きたのか? ▼
[銀の弾] (2)Java開発では各種フレームワークを組み合わせる
▼ [銀の弾] (3)Java技術者が時間を費やしていること ▼
[銀の弾] (4)銀の弾はない(No silver bullet) ▼ [銀の弾] (5)Ruby on Rails
は「銀の弾」となり得るか ▼
[銀の弾] (6)注釈:マーチン・ファウラー、フレームワーク
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
まえがき *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
蒲生嘉達(がもうよしさと)です。
Bruce
A.Tate著「JavaからRubyへ」を読みました。
http://www.amazon.co.jp/exec/obidos/ASIN/4873113202/keiitteanifty-22
これをヒントしにて、ソフトウェア開発の将来について考えていこうと 思います。
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= [銀の弾] (1)Javaに何が起きたのか? *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
「JavaからRubyへ」の中に「Javaに何が起きたのか?」という マーチン・ファウラー氏(注1)へのインタビュー記事が掲載されて います。
ファウラー氏はそこでJavaの現状を次のように批判しています。
>
Javaな人たちは、ビジネスの中核ではない、周辺を取り巻く > 技術要素に時間を費やしすぎています。 >
技術的な複雑性は、ビジネス課題の解決の役には立ちません。 > ・・・(中略)・・・ >
「銀の弾はない」というのは、本質的複雑性と偶発的複雑性とを > 区別するということです。 >
たとえば、給与支払システムの開発では、給与支払の業務ルールは > 本質的な複雑性です。 >
しかし、Javaの労力のほとんどを占めているのは偶発的複雑性です。 > EJBの大失敗はこの最たる例です。 >
・・・(中略)・・・ > SpringとHibernateはEJBに比べれば格段に進歩していますが、 >
それでもまだ、偶発的複雑性に満ち満ちている印象を拭えません。 > > ( Bruce
A.Tate著「JavaからRubyへ」より
)
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= [銀の弾] (2)Javaでは各種フレームワークを組み合わせる *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
ファウラー氏が言及している「Spring」と「Hibernate」はJavaの フレームワーク(注2)の一種です。
Javaのフレームワークというと「Struts」が最も知られています。 Strutsはアプリケーションを、モデル、ビュー、コントローラに 分割することを主目的としたフレームワークです。
それに対し、Springは外部のオープンソースソフトウェアとの連携が 得意なフレームワーク、HibernateはJavaオブジェクトとリレーショナル データベースとをマッピングするためのフレームワークです。
昨今のJava開発は様々なフレームワークを組み合わせて行われます。
>
典型的なJavaプロジェクトでは5から10のオープンソースのフレーム > ワークを使用します。 >
各フレームワークを連携させてアプリケーションを動作させることは、 > Java開発での重要な作業です >
> ( Bruce A.Tate著「JavaからRubyへ」より )
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= [銀の弾] (3)Java技術者が時間を費やしていること *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
上述のとおりファウラー氏は、Java技術者が周辺技術に時間を費やし 過ぎていることを批判しています。
「JavaからRubyへ」に出てくる、同様の批判をいくつか紹介します。
・EJBやSpringのようなアプリケーションを統合するグルーコードを 提供するフレームワークは、開発の生産性を向上させるかもしれ ませんが、学習曲線の勾配も急になります
・彼らはフレームワークの複雑さを管理するためのツールや技法に 時間を投資しています。
・Javaの良くないところは、もっと素朴なテクノロジを使うべき ユーザに対しても、エンタープライズフレームワークを使うように 働きかけていることです。
・数え切れないほどの選択肢からフレームワークを正しく選ぶことは 至難の技ですし、選んだフレームワークを使った開発を軌道に乗せる のもまた難しいです。
(Bruce A.Tate著「JavaからRubyへ」より)
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= [銀の弾] (4)銀の弾はない(No
silver
bullet) *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
ファウラー氏がインタビューで述べている「銀の弾はない」 (No
silver
bullet)とは、「人月の神話」で有名なフレデリック・ ブルックスが1986年に著した論文のことです。
この論文のミソは、ファウラー氏も指摘しているとおり、本質的複雑性 (
essential complexity )と偶発的複雑性( accidental complexity
) とを区別して考えているというところにあります。
「銀の弾はない」に興味のある方は、ブログ「新航海術の補足」の 下記の記事を参照してください。
「『銀の弾はない』を深く知りたい方のために」 http://www.gamou.jp/comment/2008/07/post_13bb.html
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= [銀の弾] (5)Ruby
on Rails
は「銀の弾」となり得るか *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
Javaもフレームワークも本来は偶発的複雑性(accidental
complexity) を排除するための技術でした。
しかし、皮肉なことに、それらとそれらの組み合わせが複雑化する ことによって、新たな偶発的複雑性を生み出してしまったのです。
果たして、Ruby
on Rails
はその偶発的複雑性を打ち砕く「銀の弾」と なり得るでしょうか?
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= [銀の弾] (6)注釈:マーチン・ファウラー、フレームワーク *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
【注1:マーチン・ファウラー】
マーチン・ファウラー(Martin
Foeler)氏は、米国で活躍している 著名なソフトウェア技術者です。 アジャイルソフトウェア開発宣言の起草者の一人です。
本メルマガでも、第73号「ファウラー氏の請負契約観」で取り上げた ことがあります。
第73号:ファウラー氏の請負契約観 [B]
http://kei-it.tea-nifty.com/sailing/2005/05/post_deaf.html [H]
http://www.kei-it.com/sailing/73-050502.html
【注2:フレームワーク】
フレームワークそのものについては、第202号の「(2)フレームワーク」 を参照してください。
第202号:オブジェクト指向プログラミングは万能選手ではない [B]
http://www.gamou.jp/sailing/2008/03/post_751c.html [H]
http://www.kei-it.com/sailing/202-080324.html
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
本メルマガについて *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
本メルマガの精神については、発行者サイト
http://www.kei-it.com/sailing/index.html を参照してください。
本メルマガの内容に興味を持つであろう方をご存知なら、是非、 本メルマガの存在を教えてあげてください。
(以下をそのまま転送するだけです。) --------------------------------------------------- 【お勧めメルマガ ソフトウェア業界 新航海術】 ⇒
http://www.mag2.com/m/0000136030.htm または http://www.gampu.jp/sailing/ または http://www.kei-it.com/sailing/ --------------------------------------------------
このメールマガジンは『まぐまぐ!』
http://www.mag2.com/
を利用して 発行しています。配信中止はこちら http://www.mag2.com/m/0000136030.htm (但し、慶社員には社内のメーリングリストで配信しています。)
「まぐまぐ!」での読者数は2008年6月20日現在、688名です。
バックナンバーは、発行者サイトまたはブログで、体系として 見てもらいたいので、「まぐまぐ!」でのバックナンバー公開は 最新号のみとなっています。
発行者サイト:
http://www.kei-it.com/sailing/ (バックナンバーの全文検索も可能です。)
ブログ:http://www.gamou.jp/sailing/
(人気記事ランキングが見られます。)
<< [第206号]
[全バックナンバー]
[銀の弾] [第208号] >>
|
|
|