直交性
orthogonality
少数のオペレータを多数の様々な方法で結合させることで, 多様な意味が表現できる
抽象性が高い、というのも近そう
少ないパーツの組み合わせで、多くのことを表現できる
primitiveという意味とは異なる?
例えばアセンブリ言語とか
ShellScriptのパイプ連結とか
lispとか
その組み合わせの数の膨大さ、はあまり議論の対象とはしない #?? ソフトウェアでの直交性は、機能間の組み合わせや順序について依存関係が小さいことを意味する場合が多い
ベクトルの内角が90度であれば、この2つのベクトルは互いに直交すると言う
任意の2つのものが直行すると言えば、
各々が持つ性質が互いに素であり、
依存する地点も1地点のみである
みたいな感じか
独立的で、凝集的
直交なものは、1つのものに修正を加えたときに、その他のものに影響を及ばさない
例
おもちゃのブロックは極めて直交的だが,プラモデルはほとんど直交的でない
直行していると、足し算でとどまる
掛け算で組合せ爆発しない
直交的(orthogonal)なプログラミング言語とは, 少数のオペレータを多数の様々な方法で結合させることで, 多様な意味が表現できるもののことだ. おもちゃのブロックは極めて直交的だが,プラモデルはほとんど直交的でない.
わかりやすい説明
いろいろな本でも言及されてる