将来の最先端SE・プログラマーは?

老川正志(富士総合研究所)2003年04月07日 10時00分

現在の優れたSE・プログラマーは?

 我々は、多くのモノに囲まれて生活しているが、人がものを作っている理由のほとんどが「面白いから」と「楽をしたいから」であろう。特に企業システムとなると、表向きは「コスト削減」「経営改善」と流行の言葉を理由として言っているが、実は「楽をしたい」という理由がベースとなっていることが多いのではないだろうか。

 システムを作るために、ずいぶんと開発言語・開発形式は様変わりしてきた。言語はマシン語・初期の手続き型言語から始まり、現在はJava、.Net等のオブジェクト指向言語に取って代わった感がある。さらには「アスペクト指向」や「エージェント指向」等を取り入れた言語が登場している。開発形式もゼロから全てを開発するパターンから「フレームワーク」・「コンポーネント」を利用して開発するパターンへと変化している。

 昔の言語に比べ、最新の言語は開発効率がずっと良くなったため、最新のものを使ったほうがコストは削減できる。そのため、次々に登場する言語をいち早く習得できるのが最先端で優れたSE・プログラマーと言えよう。

『楽なシステム開発』とは?

 さて、システム開発者・保守者などシステムに関わる人に聞きたいのだが、みなさんは新しい言語が登場するたびに「また新しい言語かよ・・・」と思ったことはないだろうか。私は「BASIC」に始まり、Pascal、Lisp、Prolog、VHDL・・・Java、PHPと様々な言語を習得し、その数は10を超えている(そして忘れている)。2000年には「C#」、2001年には「Curl」、2002年には「VB .Net」が発表されたとき、私は真っ先にこう思った。「新しい言語は楽に開発できるものが多いだろうが、これからも新しい言語が登場するたびに習得することになるのだろうか。正直嫌だ。楽させて欲しい」と。

図 1:私のイメージする『楽なシステム開発』

 この願望を達成するには、「言語習得する必要がないシステム開発」が存在しなければならない。言い方を替えれば「プログラミングがないシステム開発」が一番『楽ができる』といえる。私がイメージしている『楽なシステム開発』はこうだ。

-----------------------
 コード生成・配備ロボットがいて、私は思い描いているシステムの内容をロボットに口頭で伝える。そうすると、ロボットが自動的にソースコードを生成・配備する。私は、出来上がったシステムをテストして思い描いたように動くか確認するだけだ。もしイメージどおりに動かないなら、修正内容を口頭で伝えて、再度テストを行う。これを繰り返すことで、システムが完成する。
----------------------

 ※「ロボット」と言ってしまうと、ドラえもんやAIBOをイメージする人がいるかもしれないが、そこまで高性能なロボットでなくても、音声認識機能・ユーザとの会話を学習するソフトウェアを組み合わせれば十分である。

現時点の『楽なシステム開発』は?

 システム開発者全てがこのようなイメージを持っているかは分からないが、同じような考えをもっている人がいろいろなアイデアを出すことで、少しずつこのような理想に近づいている。では、先ほど「最新の言語は開発効率が良い」と言った、昔に比べてどれだけ「楽なシステム開発」ができるだろうか。

 現時点では新しい言語が登場するたびに習得することは変わりないが、昔に比べ「楽なシステム開発」ができるようになったのは間違いないだろう。その要因として大きく2つ挙げられる。

 1つ目はソースコードがある程度自動生成できるようになったことである。システム開発はプログラミングの段階の前に、分析・設計の段階が当然ある。その段階で人間同士によるコミュニケーションのあいまいさを失くすために、UMLという言語も登場した。現在はUMLの図からJava、C++、C#等のソースコードがある程度自動生成できるようになった。代表的なもの表1に挙げておく。

製品名 ベンダー名 備考
ArcStyler Interactive Objects Software社 MDA(Model Driven Architecture)で開発できるツール。日本ではシナジー研究所が販売
ALLFusion Component Modeler コンピュータ・アソシエイツ 旧製品名はParadigm Plus
Konesa CanyonBlue 日本ではオージス総研が販売会社
Pattern Weaver Foundatao 日本ではテクノロジックアートが販売会社
Rational Rose 日本ラショナルソフトウェア IBMが買収。UML製品ではかなりのシェアを占める
TCC(Together Control Center) ボーランド(旧TogetherSoft) Borlandが買収。JBuilderとの統合が進んでいる
表1:代表的なUMLツール

 2つ目の要因として、プログラミング作業そのものを楽にするツールが登場したことである。プログラミング・デバッグ・テストまで含めた環境を統合開発環境(IDE)と呼んでいるがEclipseプロジェクトのEclipse、ボーランドのJBuilder、NetBeansプロジェクトのNetBeansのように統合開発環境は、言語特有のメソッド(関数) を使用する際、説明が付属しているため、覚える必要が減った。こちらについても代表的なものを表2に挙げておく。

製品名 ベンダー名 備考
Eclipse Eclipse Project オープンソース
JBuilder ボーランド TCCとの統合が進んでいる
Microsoft Visual Studio .Net マイクロソフト Visioを使ってUMLを記述することで、連携が可能
NetBeans NetBeans Project オープンソース
Sun ONE Studio サン・マイクロシステムズ NetBeansを元に拡張している
WSAD(WebSphere Studio Application Developer) 日本IBM Eclipseを元に拡張している。Rational Roseとの統合が予想される
表 2:代表的な統合開発環境ツール

将来の優れたSE・プログラマーは?

 約10年前の上記で挙げたようなUMLツール・統合開発環境などなかった頃に比べ、現在のSEのおかれた環境は格段に進歩した。私のイメージする「楽なシステム開発」を実現するにはいろいろと課題はあるが、技術革新のスピードを考えて20年後には実現するのではと私は思っている。今までは「次々登場する言語をいち早く習得できるのが最先端で優れたSE・プログラマー」だったが、近い将来は逆に「言語をいち早く捨てた人が最先端で優れたSE・プログラマー」になるのではないだろうか。

参考:MDA (Model Driven Architecture)
ベンダーに依存しないシステムの相互運用を実現するためのアーキテクチャ。「プラットフォーム技術に依存しないアプリケーションのモデル情報(機能、振る舞いの仕様)を作成し、CORBAやJava,.NET、XMI/XML、Webなどのプラットフォームにマッピングする。」というシステム開発を行う。
URL:http://www.omgj.org/technology/mda/

富士総合研究所 システムエンジニア 老川正志

この記事の内容に関するお問い合わせはCNET Japanまでお願いいたします。

CNET Japanの記事を毎朝メールでまとめ読み(無料)

-PR-企画特集

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]