2024.06/24 データ(1)
ある現象から取り出されたデータは、たった1個であってもオブジェクトとしてのふるまいをする。このような感覚が備わっておれば、データ捏造などといういかがわしいことを誠実な人物であれば絶対に行わない。
データの捏造により、現象の情報が失われるだけでなく、時には現象をゆがめてしまう場合がある。ゆえに誠実な技術者であれば、捏造を発見したとたんに怒るだろう。
かつて、プログラミングの世界では、データとアルゴリズムは別々に扱われた。それがオブジェクト指向というパラダイムの登場により、データとアルゴリズムがオブジェクトとしてまとめて論じられるようになった。
当方はC++やC#を用いても、データを独立したオブジェクトとして扱う傾向があった。データとそれを処理するアルゴリズムを一つにまとめたクラスを設計する場合に、データのふるまいだけのクラスを必ず一つ作成した。それが当方のプログラミングスタイルである。
今はPythonを使う機会が多く、データはリストの配列で実装する。こうするとリストのメソッドも使えるし、Pandasを使う時にも便利である。
最近データ指向という言葉をよく見かけるようになったが、当方のプログラミングスタイルは、データ指向と言える。しかし、パラダイムの表現としてデータ指向という呼び名を用いなくても、オブジェクト指向で十分である。
すなわち、データもオブジェクトとして捉える認識だけで十分で、わざわざデータ指向というのも違和感がある。オブジェクト指向において、クラスをどのように設計するのか、というオブジェクト指向の手法の一つである。
当方は、アルゴリズムを考えるのと同様に、データについても昔からデザインを心掛けてきた。どのようなデータを収集するのかは、実験前によく考えるべきことで、単に仮説がこうだからこのデータを取る、という安直な姿勢は好ましくない。
カテゴリー : 一般
pagetop