2014年10月24日金曜日

オブジェクト指向について その4

データを構築するオブジェクト指向は簡単

「アルゴリズムとデータ構造」によると基本的なデータ構造は、配列、連結リスト、木構造がある。このデータ構造を操作することを、アルゴリズムと言っている。オブジェクト指向が一般化する以前は、データ構造をプログラマーが好きなアルゴリズムを使用し、操作していた。でも、これでは、冗長処理いたるところに発生し、この冗長にバグが多数組み込まれ、苦労していた。
しかし、オブジェクト指向では、このアルゴリズムをテンプレート(Javaはフレームワークコレクション)として前もって準備してある。だから、データ構造の基本的な操作は誰でも行える。逆にアルゴリズムが、言語の奥底に隠れたため、言語が変わるとアルゴリズムが使えなくなる恐れがある。だから、アルゴリズムを示した図書を手元に置いておくと便利だ。

VMを操作するオブジェクト指向は難しい

'80年代終わりころから'90年代始めに、通信制御プログラムを引き継ぎ、中途半端だったプログラムを完成させた経験がる。通信制御プログラムは、割り込みコンテキストから成り立っている。だが、引き継いだプログラムは、逐次処理感覚で作ってありびっくりした。
VMを操作するオブジェクト指向の難しいところは、この割り込みコンテキストだ。コンテキストにはテンプレートは存在しない。だから、シーケンス図などで、相互関係を明確にし、ロック制御、排他制御を行う。もし、メモリー共用などが発生すると、問題解決まで多くの時間を費やすことになる。経験上、相互関係を全て読みきることは不可能だ。少しでも、不安があれば、安全サイドでプログラムを書いた方がいい。
又、VMはJava以外にも存在し、WANの世界では、一つのVMだけで成り経たなくなっている。したがって、現在は複数のVMを習得しておくのは必須だ。

VM 使用できる言語 備考
JVM Java(SE,EE,ME) Appletはブラウザーではあまり使われなくなった。現在サーバーサイドで多く使用されている。現在Oracle社が提供。
Flash Player ActionScript 現在ブラウザーで一番使われているAdobe社が提供するプラグインプログラム。videoが有名。なお、単独で動かせるAIR環境がある。
.NET Framework VB,C# マイクロソフトが開発したアプリケーション開発、実行環境。
HTML5 HTML,CSS,JavaScript HTML5はVMと呼んでも遜色のない環境だ。ブラウザーは複数存在する。
  

慣れるしかない

さすがのアムロも最初はエバンゲリオンを使いこさせないだろう。VMも同じだ。使って使って慣れるしかない。

0 件のコメント:

コメントを投稿