5年後のシステム開発

February 26, 2004

ポスト産業資本主義の時代

********************************************************************
_/_/_/_/_/_/_/_/_/ ソフトウェア業界 新航海術 _/_/_/_/_/_/_/_/_/_/
********************************************************************
第8号 2004/2/26
▼ まえがき
▼ 商業資本主義の時代
▼ 産業資本主義の時代
▼ ポスト産業資本主義の時代
▼ 次回以降の予告

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
まえがき
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
蒲生嘉達です。お疲れ様です。

本メルマガは、慶の社員(正社員・契約社員)及び慶と
契約している個人事業主の方々に配信しています。
感想をお持ちなら是非返信してください。

さて、下記は第7号からの引用です。

> 経済のグローバル化がコンピュータ業界の標準化を促し、
> コンピュータ業界の標準化がさらに経済のグローバル化を加速
> させているのです。

今週号では、このあたりのメカニズムを解説します。


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
[5年後、システム開発の仕事はどのようになっているか?]
 商業資本主義の時代
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

例えばA国は平地が多く気候が温暖で稲作に向いているので、
お米が沢山取れるとしましょう。
一方B国は山岳地域が多く稲作に向いていないかわりに、
鉱物資源に恵まれていて、例えば鉄が沢山取れるとしましょう。

貿易商人はA国にB国の鉄を持って行き、B国にA国の米を
持って行くことで利益を上げることができます。
これがいわゆる商業資本主義の時代です。


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
[5年後、システム開発の仕事はどのようになっているか?]
 産業資本主義の時代
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

ところが、あるときA国で産業革命が起きて、安くて良い
工業製品ができるようになりました。A国はB国だけでなく
様々な国に工業製品を輸出し、利益を上げることができるように
なりました。
B国はA国工業製品の輸出市場となったのです。
これがいわゆる産業資本主義の時代です。

ここで忘れていけないことは、A国内でも工業地域と農業地域の
二重構造が発生したということです。
A国の農業地域は国内市場であると同時に労働者の供給源でも
ありました。
農業地域が安くて豊富な労働力を供給してくれたために、
A国の資本家は高価な機械を導入しても利益を上げることが
できたのです。

たとえば、今まで労働者1人が1日1万円の商品を生産していた
としましょう。そして、1億円の機械を購入し、労働者1人が
1日10万円の商品を生産できるようになったとしましょう。
ここで労働者が「俺は1日10万円の商品を生産できるように
なったのだから、給料を10倍にしろ」と要求したら、
資本家は1億円の投資を回収することができません。
人件費が生産性の向上ほどには伸びないから、資本家は
多額の投資をしても、利益を上げ、それによって投資を回収し、
資本を増やし、再投資できるのです。

ところがA国内の工業化がもっと進むと、農業地域から
工業地域への労働力の流出もさらに進み、農業地域の人口が
減っていきます。
これは農業地域に過疎化の問題を発生させ、工業地域には、
労働力不足、人件費高騰、その結果として輸出の競争力低下の
問題を発生させます。
生産性の向上よりも人件費の上昇が上回れば、利益は減り、
投資は回収できず、再投資もできなくなります。

しかし、これだけではまだ他国に工場を移転しようという
発想は起きません。
輸送コストを考慮すると、工場を他国に移転するよりは
国内で生産する方がまだ安いからです。
また、通信手段が電話、FAX、郵便だけでは遠隔地の工場を
管理できません。


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
[5年後、システム開発の仕事はどのようになっているか?]
 ポスト産業資本主義の時代
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

1990年前後に輸送技術、通信技術の進歩によって、
輸送コストと通信コストが劇的に低下しました。
高速ネットワークによって瞬時に大量の情報のやりとりが
できるようになり、他国に工場があっても管理ができるよう
になりました。

そこで、A国の資本家は人件費などの生産コストの低い
開発途上国に工場を移転するようになったのです。
ところが同じことを皆がやるとその国でもすぐに人件費の
高騰が起きてしまうので、さらにもっと安い国へ移転しする
ようになります。
一旦この動きが始まると、韓国・台湾→マレーシア・タイ→
インドネシア→中国 というように、わずかの差異性を求めて、
資本が世界中を短期間の間に目まぐるしく動き回るように
なりました。
これが経済のグローバル化であり、この段階の資本主義は
ポスト産業資本主義と呼ばれます。

経済のグローバル化がIT産業に対する巨額の投資を生み出し、
それがIT技術をさらに進歩させると同時に、IT技術の進歩が
さらに経済のグローバル化を促進するという循環が生まれました。

経済のグローバル化はあらゆる業種において、地域的な
差異性を消し去り、標準化を進めます。
標準化ということは同じ土俵で戦うということです。
同じ土俵で差異性を確保するため、企業は、激烈な
低価格化競争、短納期化競争に突入しました。

したがって、この激烈な低価格化競争、短納期化競争に
負けないよう徹底したコストダウンしていくという方向は
必然の流れです。
あるいは、低価格化競争、短納期化競争に巻き込まれない
ためには、低価格、短納期以外の差異性を作り出して
いかなければなりません。標準化によって差異性が消されて
いく中にありながらも・・・。


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
次回以降の予告
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
 2/2 5年後のシステム開発
 2/9 では、どうすればよいか?
 2/16 シリーズのあとがきと次シリーズの予告

次号は、2月2日発行予定です。乞うご期待!!


--------------------------------------------------
発行:
株式会社 慶
 代表取締役 蒲生 嘉達
y_gamou@kei-ha.co.jp http://www.kei-ha.co.jp
TEL:03-5951-8490 携帯:090-1258-6347

|

January 05, 2004

オブジェクト指向プログラミング

******************************************************************
_/_/_/_/_/_/_/_/_/ ソフトウェア業界 新航海術 _/_/_/_/_/_/_/_/_/_/
******************************************************************
第5号 2004/1/5
▼ まえがき
▼ オブジェクト指向プログラミングとは
▼ オブジェクト指向言語とは
▼ オブジェクト指向プログラミングの普及速度は遅かった
▼ オブジェクト指向プログラミングの普及速度が遅かった原因
▼ オブジェクト指向プログラミングのまとめ
▼ 次回以降の予告

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
まえがき
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
蒲生嘉達です。
明けましておめでとうございます。
本年も宜しくお願い致します。

前号では、全ての創作活動と同様にシステム開発にも
下記の二種類の困難が伴うことを述べました。
・媒体に表現することの困難さ
・構想を生み育てる困難さ

そして、OS、高級言語、UNIXは、媒体に表現することの
困難さを除去するための技術であることを説明しました。

今週号では、オブジェクト指向プログラミングについて
本メルマガ流に多少の独断も交えて解説します。


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
[5年後、システム開発の仕事はどのようになっているか?]
 オブジェクト指向プログラミングとは
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

第1号で、高級言語の発明がプログラマの構想を表現する
ことを飛躍的に容易にしたということを記しました。
「変数」「配列」「サブルーチン」「関数」等の扱いやすい
概念や、「選択」「反復」などの制御構造は高級言語により
提供されたものです。

しかし、単純な数値計算ならまだしも、複雑な業務
アプリケーションを作成しようとすると、従来の高級言語が
提供する仕組みだけでは力不足です。

現実世界は多様な事象からなり、且つ、その事象は互いに
複雑な関連性をもっています。
そして、プログラマが実現したい構想は現実世界を抽象化した
概念を部品として生まれます。

オブジェクト指向プログラミングとは、高級言語の文
よりももっと大きな単位の抽象化レベル、すなわち
プログラマの構想に近いレベルでプログラミング
することです。
構造化プログラミングに比べて、より人間の構想を
模倣しようとする表現技術です。

したがって、オブジェクト指向プログラミングも
表現の困難さを除去する技術です。


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
[5年後、システム開発の仕事はどのようになっているか?]
 オブジェクト指向言語とは
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

上記の説明で明らかなとおり、オブジェクト指向の要求は
ごく自然なものであり、オブジェクト指向プログラミングに
オブジェクト指向言語は必須ではありません。

RDBMSのテーブル設計とは、現実世界から類似した事象(object)、
その属性(attribute)、単独の事象(instance)を抽出する作業です。
また、構造化プログラミング言語でも、ライブラリ化によって
(モジュール化ときれいなインタフェースという意味で)
カプセル化に近いことは行なわれてきました。

オブジェクト指向言語は、カプセル化、抽象データ型、継承
というオブジェクト指向プログラミングの手法が、あらかじめ
言語仕様に組み込まれている言語であり、その言語を
使用することによりオブジェクト指向プログラミングを徹底
させることができます。


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
[5年後、システム開発の仕事はどのようになっているか?]
 オブジェクト指向プログラミングの普及速度は遅かった
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

オブジェクト指向プログラミングの普及は急速なものでは
ありませんでした。
1970年代後半には既にオブジェクト指向言語であるSmalltalk
が開発されていますが、オブジェクト指向言語の本格的普及は
2000年以降のJavaの急速な普及を待たなければなりませんでした。
データベースの世界では、オブジェクト指向データベースは
今でもマイナーです。

構造化プログラミングと比較するとその普及速度の遅さは
際立ちます。

構造化プログラミングがダイクストラによって提唱されたのは
1970年頃で、1980年代前半には広く普及していました。
COBOLにも構造化という考え方が取り入れられ、構造化COBOLは
大規模な業務アプリケーションでは最も標準的なプログラミング
言語となり、現在にいたっています。
オブジェクト指向COBOLも作られましたが、ほとんど使われていません。


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
[5年後、システム開発の仕事はどのようになっているか?]
 オブジェクト指向プログラミングの普及速度が遅かった原因
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

何故オブジェクト指向プログラミングは構造化プログラミング
ほどには熱狂的に受け入れられなかったのでしょうか?

(1)プログラマの再教育のコスト
オブジェクト指向言語によって構文上の記述を節約
できることは明らかです。保守性、拡張性の向上も明らかです。
しかし、上述のとおり、オブジェクト指向プログラミングは
構想に近い部分の表現技術なので、発想の転換が求められ、
そのためプログラマの再教育が必要となります。
そのコストも採用を遅らせる原因となりました。

(2)効果が劇的でない
もしもRDBMSの理論どおりデータベースが適切に設計されており、
構造化プログラミングによりモジュール化ときれいな
インタフェースが実現されていたなら、言語を従来の構造化
言語からオブジェクト指向言語に切り替えることによる
メリットは劇的なものとは言えません。

オブジェクト指向の効果が薄いというよりも、データベース
設計とモジュール化の過程で既にオブジェクト指向的
考え方(高レベルな表現)が入り込んでいるが故に
オブジェクト指向言語に切り替えても効果は劇的とならないと
いうほうが正確です。

オブジェクト指向COBOLが普及しない理由は、構造化COBOLを
オブジェクト指向COBOLに変える必要性を誰も感じないからです。


(3)再利用は現実には難しい
また、オブジェクト指向言語が重視している部品の再利用と
いうことが、下記の理由によってなかなかうまくいかないと
いう点もあげられます。
・再利用可能な部品を作成することは一回切りの部品の
 作成よりもはるかに労力がかかります。
・ツールは機能が豊富になるほど学習に時間がかかります。
 それと同様に再利用可能と思われる部品が増えれば、学習
 時間が増えてしまいます。


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
[5年後、システム開発の仕事はどのようになっているか?]
 オブジェクト指向プログラミングのまとめ
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

たとえ普及に時間がかかったとしても、オブジェクト指向
プログラミングは表現技術の必然的な進歩であり、
最近話題となる新しい技術の多くはオブジェクト指向
プログラミングを前提としています。

オブジェクト指向プログラミングの基本的な手法は
カプセル化と再利用です。
カプセル化による情報隠蔽は表現のレベルを上げる
最良の方法であり、再利用も注意深く行なわれるなら、
すばらしい成果を期待できます。


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
次回以降の予告
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
1/12 
 1/19 ?
次号は、1月12日発行予定です。乞うご期待!!


--------------------------------------------------
発行:
株式会社 慶
 代表取締役 蒲生 嘉達
y_gamou@kei-ha.co.jp http://www.kei-ha.co.jp


|