/note/tech

オブジェクト指向プログラミングは登場時の説明でしくじった

新しい技術を紹介する時に、既存技術との違いを強調することになる。

しかし違いの中には本質的でないものや、効果が未検証な違いがたくさんある。

だから新しい技術の登場直後の説明は、後から振り返ると怪しげな内容も多い。

オブジェクト指向プログラミングは、その典型。

@masuda220

おそらくオブジェクト指向プログラミングの本質的な特徴はデータ抽象。あるいは型(値の種類)に注目したモジュール化。

実装を継承した差分プログラミングは本質ではなかった。

オブジェクトの不変性があたりまえになった現在は、内部状態の変化のカプセル化すら、本質ではなくなっている。

@masuda220

GUIが本質ではないのは昔から言われていた。

むしろオブジェクト指向プログラミングの発展の歴史から見るとGUIと関連づけたのは、失敗だったと言える。

@masuda220

しかしながら、新しいものは優位性や違いを明確にしないと無視・忘却されてしまうので、当時はそうするしかなかったのかもしれないな