オブジェクト指向を超えて:プログラミング言語におけるサブタイピングの進化

2025-03-29

この記事では、プログラミング言語設計におけるサブタイピングの重要な役割を探ります。著者は、複数のプログラミング言語の開発経験に基づき、サブタイピングがオブジェクト指向プログラミングにおけるクラス継承のみに限定されず、はるかに基本的な概念であることを説明しています。つまり、型Xが型Yのサブタイプであるとは、型Xの値を型Yが期待される場所でいつでも使用できることを意味します。この記事では、パフォーマンス重視の低レベル言語においてもサブタイピングが不可欠である理由を明確に説明しています。サブタイピングにより、コンパイラはnull値、エイリアシングなどの問題を静的にチェックできるようになり、コードの信頼性を向上させ、最終的にはプログラミング言語の進化を促進します。