完全性(インテグリティ)って、「インテグラル」と関係ありそうじゃない?
応用情報技術者試験のために勉強しています。
情報セキュリティのところを勉強していて、「完全性(インテグリティ)」という用語が出てきました。
ふと「インテグリティ」って「インテグラル」と似ているな…と気になって仕方なくなったので、ちょっと調べてみました。
語源はラテン語
こういう言葉にありがちですが、語源はラテン語の「integer」でした。
この時点でもう次のことが気になっているのですが、それは後述。
インテグリティ(Integrity)は、というラテン語のintegitas(インテグリタス)が語源で、「完全性」「正直さ」などの意味があるようです。
一方、インテグラル(Integral)は、同じくラテン語のintegralis(インテグラリス)が語源。こちらは「全体を構成する」「不可欠な」「完全な」という意味を持つようです。
数学の積分(インテグラル)は「全体を合計する」という意味ですね。
ということで、インテグリティとインテグラルは、直接的に同じ語源を持つわけではありませんでした。
integer!オマエそんなところに
インテグリティとインテグラルの直接の先祖は違いましたが、さらに大元をたどると「integer」(完全な、傷がない)に行き着くようです。
で、プログラミングにおけるintegerは「整数」の意味です。
もちろん、この2つのintegerには関係があります。
ラテン語におけるintegerは「完全な」「無傷の」「損なわれていない」という意味を持ちます。何も欠けていない全体、というイメージのようです。
一方で現代のプログラミングにおけるinteger(整数)は英語ですが、ラテン語のintegerを語源としています。
そのルーツは「分数や少数ではない完全な数」という意味を持つようです。英語のintegerも同じ意味をそのまま引き継ぎ、小数点や端数のない完全な数=整数 という意味になりました。
まとめ
まとめると以下です。
インテグラルとインテグリティの語源は違うが、語源の語源はinteger(完全な)で同一
そのintegerはプログラミングのintegerと直接的に関係がある
そもそもintegerは「分数や少数のない完全な数」という意味、転じて「整数」
ということでした。
情報セキュリティの学習をしていたはずが、気づいたら言語のルーツを辿る旅に出てしまっていました。
おしまい。