/note/tech

20年代のオブジェクト指向言語

まず、新しいOO言語が持つべき、いくつかの明白な譲れないものがあります。

  • null安全
  • 安全なキャスト
  • オプショナル名前付き引数
  • ジェネリクス
  • デフォルトでイミュータブル

これらのテーマについてはすでに十分語られているので、今日はあまり説明する必要はないでしょう。

ここでは、私が個人的に新しいOO言語に望む、あまり目立たない選択肢をいくつか紹介します。

  • クラスに基づく発見性
  • 多重継承
  • ミニマル構文
  • 高階型
  • 例外がない
  • 統合されたクラスと型クラス
  • 破壊せずにパターンマッチング

これら共通しているのは、言語を純粋にOO(「マルチパラダイム」ではない)に保つことですが、関数的な機能を型システムに統合し、OO的な方法で実装することです。