« 瞳の奥の秘密 | メイン | 「日本で最も人材を育成する会社」のテキスト »

間違いだらけの業務システム開発(開発篇その1)

自動プログラミングは有効である

通常、業務システムの開発というと最終的には、プログラマーを配置してプログラム仕様書に従ってせっせとコードを書くことが行われます。このシリーズ初めの方でも、「開発プロジェクトではコードを書く」というのが間違っていると指摘していて、コードを書かないようにすることが重要だと言いました。

ところが、一方でプログラミングを自動化すればコードを書いてもいいのではないかという議論があります。というか、コードを書くという前提でその生産性をあげるために何とか自動化したいという思いがあり、現にそういうツールも出てきています。

これは正しい方向でしょうか。それを考える時に、いつ、どこの部分でコードを書くのかをみてみましょう。今の開発プロジェクトだと要件定義して仕様におとして、最後にプログラミングをします。詳細な機能レベルも記述したりします。

こうした、細かな機能レベルのものは予めコードを書いてモジュール化、部品化しておいたらどうなるでしょうか。そして、プロジェクトに入ったらそれらの部品を組み上げることにしたら、そこではコードを書かないですむことになります。

もし、こうしたことができたら、プログラムの自動生成というのはどういうことになるのでしょうか。自動化の意味がなくなるのです。なぜなら、自動化をする必要性は同じようなコードを繰り返し書くからで、言い換えると、パターン化できるから自動化が可能になるわけです。だとしたら、パターン化できるのならそれらを部品化してしまえばいいことになる。

そうなると、その部品を作るのにコードを書くことになります。ここはプログラミングしなくてはいけません。ところが、このプログラミングは一回でいいのです。ですから、ここはじっくりとスーパープログラマーにきれいなコードを書いてもらおうじゃありませんか。

いまのアプリケーションのコードを覗いてみたらいいと思いますが、ほとんどが個人の癖の入ったきたない、あとで読めないしろものではないでしょうか。たとえ、自動化したところで、自動化のアルゴリズムは汎用性を持たすために質はそう高くないと思われるので、同じような話ではないかと思います。

結局、スキルの高いプログラマーにシンプルできれいなコードで部品を作ってもらい、それを要求に従って組み上げることでアプリケーションを構築するのが、開発効率、そして保守性も向上させることができるのです。ということでプログラミングの自動化を指向するのは間違っていると思うのですがいかがでしょうか。
  

トラックバック

このエントリーのトラックバックURL:
http://kamawada.com/~masanori/blog/mt/mt-tb.cgi/1514

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2010年09月01日 10:11に投稿されたエントリーのページです。

ひとつ前の投稿は「瞳の奥の秘密」です。

次の投稿は「「日本で最も人材を育成する会社」のテキスト」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type