システムリフォームから考える その3
あっという間に2月です。
不景気などと言っていても、バレンタインは否が応でもやってくる。
イベント事に燃えないなあ・・・。と思うこのごろです。
でも2月3日の恵方巻きだけは食べたいと思います。
特に、今年はこれ!です。
http://www.sej.co.jp/products/ehomaki_kanto.html
さて、システムリフォームの視点からシステム開発を考えるシリーズの3回目は「プログラム言語」です。
一度作ったシステムを、基本はそのままで機能を追加したり修正したりしながら、何年も使い続けることができるのか?
これに対して明確にYesと答えることはできません。
開発者やユーザーの「なるべく長く使い続けるシステムを作る」という意思だけでなく、システムの持つ運にもよると言わざるを得ないからです。
ここで「なるべく長く使い続けるシステムを作る」という意思に立ちはだかる壁は開発時の「目先の生産性」であり「コスト」です。
機能的であり、なるべく安価なシステムを望むことはユーザーにしてみれば至極当たり前のことです。
一方、競合相手と戦って仕事を勝ち取らなければいけないシステム開発会社としてみれば、まず考えることは、保守性ではなく生産性であり、効果性であろうと思います。
そこで、今回はシステム開発の裏側から見たプログラム言語とミドルウェアについて考えてみたいと思います。(タブーでは無いと信じつつ・・・)
なぜなら、ユーザーがもっとも関心がなく、システム開発会社に任せてしまう部分だからです。
それ故にリフォームし難くなったり、リフォームのときに多額の費用を請求されてしまうものが、プログラム言語とミドルウェアなのです。
まず、プログラム言語ですが
・COBOL
・Java
・.NET(VB.NET)
・PHP
・Perl
・C
・C#
ざっと有名な言語を書き出すだけでも、こんなにあります。
その中で大規模用開発の現在の主流になっているのは
・Java
・.NET
というところでしょうか。
別にここで「どの言語はダメ」と言いたいわけではありません。
システム開発会社にはそれぞれ得意な言語があるわけでその言語で開発すれば生産性は高くなるわけです。
しかし、ここに挙がっていない言語であったり、特殊な開発ツールを使う場合は要注意です。
開発者が少ない言語で開発してしまうと「保守性は、悪くなる」これは常識です。
需要と供給の関係からも理解していただけると思います。
某データベースメーカーが開発言語や環境をセットで売り出しておりますが、正直こういうものを「基幹系システム」や「大規模システム」に使うのはお勧めしません。
「餅は餅屋」
1つの分野が有名であれば、他のものも良いわけではありません。
エルメスでは、バッグを買いシャネルでは服を買うべきでしょう。
また、ExcelやAccessは、帳票や分析だけといった一部に使うものであり開発のメインに使うものではありません。
5年以上お使いになる「基幹系のシステム」をお望みであれば、数少ない開発会社しか対応できないような言語をお選びになってはいけません。