|  | 
                            
                              |  | 
                            
                              |  | 
                            
                              | 全バックナンバー
 技術
 開発プロセス | 製品・サービス
 組織
 営業
 | 財務
 人事・労務
 産業 | 
                            
                              |  | 
                            
                              |   
                                
                                  
                                    |  |  
                                    |  |  
                                    |  第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号] >>
 |  |  |