Primitive型とオブジェクト指向

初めにタイトルの疑問に答えると、もしJavaにPrimitive型が無かったらパフォーマンス的に使いものにならなかったので、ServerSideで覇権を取ることも無くオブジェクト指向技術の発展が5年〜10年は遅れていたと思うので、あった方がよかったというのが答えかな。

まあ、それはいいとしてリンク先のエントリのコンテキストには「Primitive型が無いと純粋なオブジェクト指向」という宣伝文句への盲信が含まれている方が大問題だと思うんですが...

Primitive型があるかどうかという事がオブジェクト指向的かどうか?という問いに対してクリティカルには作用しないというのはちょっと考えれば分かることなので、Primitiveが無い程度で「純粋」なんて修飾語は明らかに大げさすぎる。

仮に新しい言語を0から設計するとしてPrimitive型を入れるかどうかの判断は汎用性とのトレードオフになるはず。なのでPrimitiveがあれば最新の3Dゲームも作れたり、リッチなリソースが無くても動いてくれたり用途が広がるけど、Primitiveが無いと余計にリソースを消費する分だけ用途が狭くなるというお話。

今のJavaオブジェクト指向的な観点からダメ出しするんなら。nullの扱いができてない事と、クロージャが無い事、中途半端なGenericあたりを責めるべきで、Primitiveなんかどうでもいい。仮にPrimitiveが無くなったところで「純粋」って称号がもらえる以外には大して違いは無いんだし。

今の動的言語オブジェクト指向を「純粋な」とか言うんだったらScalaなんかは「赤ちゃんの様に純粋無垢な」とか言わないといけないからキリが無くなっちゃうよね。