アダム・ネルソンのブログより。 オブジェクト指向プログラミングは、今やすっかり廃れてしまいましたが、しばらく前からそうなっています。新しいプログラミング言語が意図的にオブジェクト指向(OO)を採用することはほとんどありません。そして、これには正当な理由があります。OOは多くの場合、多くの定型文を必要とし、コードを不自然なオブジェクト階層に押し込め、隠れたミュータブル状態を助長します。 しかし、もし2021年にJavaやC#のような静的型付けされた新しいOO言語をゼロから作ったとしたら、関数型プログラミングから学んだ全てのことと、10年以上にわたる厳しいOO批判を受けて、この問題を解決することができるでしょうか? 特に、レガシーコードとの互換性を期待していない場合はどうでしょうか? まず、新しいOO言語が持つべき、いくつかの明白な譲れないものがあります。 null安全 安全なキャスト オプシ