2024.06/15 データ
実験を行えばデータが得られる。そのデータを解析するためにコンピューターを使う。日々の何気ないこの行動において、データというオブジェクトを真剣に考えたことがあるだろうか。
データの捏造について、うるさく言われるようになったが、捏造により失われる情報があることに気がつくと、データというオブジェクトが、単なる数値ではないことに気がつく。
さらにデータが二つ以上集まった時に、例えば「5」という一つの数値の得られた現象の影響を受けている、すなわち情報を持っていることを発見する。
ここまで書けば、データというオブジェクトが何か意味を持った存在であること、という表現の理解が進むのではないか。プログラミングでは、アルゴリズムがかつて重視された時代があった。
ところが、アルゴリズムが処理しようとしているデータに依存し、類似のアルゴリズムでも使用可能な他のデータ群に使おうとすると、データ群の特徴に合わせて修正する必要が出てきた。
そこで、アルゴリズムとデータがまとめられたオブジェクトというものを考案し、データの特性に左右されないクラスという部品に仕上げるアイデアが生まれた。これがオブジェクト指向である。
このオブジェクト指向という考え方は、問題解決法でも注目され、TRIZからUSITが生まれている。データとアルゴリズムがまとめられたクラスというオブジェクトがいつも便利とは限らない。
すなわち、有限のデータではなく、無限のデータを考えたり、データの組み合わせを変更したりする時には、クラスの設計からデータを外し、データオブジェクトとアルゴリズムオブジェクトに分けた方が自由が利く。
これを新しいパラダイムと考えるのか、従来のオブジェクト指向のパラダイムの変形と考えるのかはどうでもよい。そもそも過去のオブジェクト指向の考え方が自ら制約をつけていたに過ぎないからである。
最近データ指向というパラダイムを主張する人がいるが、その主張を読んでいると、従来のオブジェクト指向のパラダイムと変わらない。ただ従来のオブジェクト指向のパラダイムをデータとアルゴリズムを一体化させる、と狭めて説明しているに過ぎないのだ。
カテゴリー : 一般
pagetop