Skip to content

Instantly share code, notes, and snippets.

@metanest
Last active March 8, 2020 09:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save metanest/592018a7ebf6ddc2620aeda93dd3d17d to your computer and use it in GitHub Desktop.
Save metanest/592018a7ebf6ddc2620aeda93dd3d17d to your computer and use it in GitHub Desktop.

演算子オーバーローディングはあなたが思っているより、たぶんめんどくさい

確かにベクトルのような型について v1 + a*v2 といったように簡潔な式で書きたい、という要求はよくわかるものではあるが、プログラミング言語における演算子の構文の簡潔さに騙されてはいけない。その構文の裏にあるセマンティクス(意味)は実にめんどくさく、それがJavaなどの言語に演算子オーバーローディングが無い理由である。以下ではいくつかのケーススタディなどを見てゆく。

型が限られている言語の場合

BasicやAWKなど、そもそも

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment