geneとmeme
多分下手すりゃこれ読めない人いるんじゃね、ということでカタカナ表記するとすると、『ジーン』と『ミーム』ですね。
遺伝情報のこと。
abstractとかbaseとかbeanとかよく分からない分け方するよりgeneとmemeで分けた方が早くね、とか思うところ。
特にbeanって見るたびに『必要性あるの?』って疑問に思いますし。
確かbeanって本来は再利用可能なクラスだとかそういう指標だった気がしますが最近は描画系だとかそういうのをまとめてbeanとか言ってしまうパターンも多いですしね。
それって、memeじゃだめなのか? と。
abstractにしてもbaseと一緒にしたらダメなのか、とか思いますし。
いや、実装強制ができる言語ならabstractに価値もあろうものなんですけども。
他のゆるふわ言語でabstractとか作られても困惑しかないっていう……。(とか言いつつJavaとかC#とかもかなりゆるふわですけども)
というかJavaとかゆるふわすぎて使ってる側がいろいろ研究してベストプラクティスをブラッシュアップしていってる言語ですしね。
この動きは見ててなかなか面白い。
閑話休題。
結局baseにしてもabstractにしても前提として組み込まれてるという意味ではカテゴリとしてgeneで良い気がするなー、とか、思ったり思わなかったりするというところ。
それそれ以外の後付け機能ってmemeじゃダメなのか、と。
例えばコアな部分の処理ってgene的に実装しておいた方が楽な気がするし、描画系とかは何をどう扱うのかというところでmeme的に実装できるだろうしという感じ。
多分人工知能とかを考えればより具体的に想像できると思うんですけど、例えば情報を記録する部分、情報を数値化する部分、条件分岐に混ぜ込んだりする部分というのはコアな部分……geneの部分に当たるんですけど、経験の記録だとか引き出すカテゴリの選定だとかそういった経験による数値の変更部分はmeme部分に当たるんだろうなぁ、とか。
要するにフレームワークな部分がgeneでフレーバーな部分がmemeになる気がするとかそういう話なんですけどね。
そこであえてabstractとかbaseとかbeanとかそういう名前のクラスを作る意味というか価値というか、そういうものが理解できないだけの話で。
逆にいえば、あるシステムの使用上前提条件になる部分がgeneで視覚的だとか変更が多発するような部分がmemeになるんじゃないかな、と。
なろうのページで言えば、例えばユーザログインはだとか、小説投稿だとか、タグ付けだとか、データベース関連の部分は間違いなくgeneだし、逆にページレイアウトは間違いなくmemeでしょう。
おそらく流行り廃りで変わるだろうし。
そういう意味では、『絶対に必要で基本的に不変な部分』がgeneで、『変更が当然というか変更の可能性が高い部分』がmemeという感じで分けられないものか、とか。
まあ、実際絶対変わらないだろとか思ってる部分でも普通に変わったりすることがある業界なんですけどね。




