@here
こんにちは、ALL-INユニットの鈴木です。
ただでさえ小難しい術語が跳梁跋扈するIT業界には、
なんと誤ったまま広まっている言葉も相当数が混じっています。
もちろん誤用と知った上で誤ったまま使う自由はあるのですが、
誤用と知らなければその自由すら得られません。私と自由のために戦いましょう。
[0]
多くのプログラム言語における配列の添字は、なぜ1からではなく0から始まるのでしょうか?
よくある誤解: イギリスでは0から数え始めるから
正: C言語においてメモリアドレスを指定するのに都合が良かったから
C言語では配列宣言時に、配列の長さと変数型に応じたサイズの連続したメモリアドレスが確保されます。メモリ上連続したアドレスに値を格納したうえで、先頭の要素のメモリアドレスに対して「添字」分の番地を加算することで、配列の任意の要素にアクセスできる仕組みになっています。
たとえばarray[0]は変数arrayのメモリアドレス + 0番地の値(= 配列の先頭)を指し、array[3]は変数arrayのメモリアドレス + 3(正確には3 * 変数arrayの型のサイズ)番地の値を指し示します。
上記のことから、C言語は添字を0から数え始めた方が配列を直感的に扱える構造になっていることがわかります。
現代のプログラム言語では、必ずしも配列宣言時に連続した番地のメモリ確保が行われるわけではありませんが、C言語の文法が今でも受け継がれているのですね。
CMYK
CMYKは何の略でしょう?
よくある誤解: Cyan, Magenta, Yellow, blacKの略
正: Cyan, Magenta, Yellow, Key plateの略
IT用語かは怪しいですが、デザインなどの文脈で誤った解説をしばしば見かけます。
CMYKのKはKuroでもblacKでもなくKey plateのKです。Key plateは印刷の主版を意味します。
false
読み方は?
よくある誤読: フォルス
正しい読み: フォールス
絶対アカン: ファルス
発音記号はfˈɔːlsなので「フォールス」と伸ばすのが正しいです。偽陽性「フォールスポジティブ」などの言葉は認証や疫病の抗体検査の文脈でよく見かけますね。
私は気にせずフォルスと読みます。
null
読み方は?
よくある誤読: ヌル
正しい読み: ナル
発音記号はnˈʌlなのでナル読みが正しいとされます。ドイツ語でNullはヌルと読むのでヌル読みも正しいのではないか、という反論もよく見かけますが、ドイツ語圏においても、ドイツ語でゼロを意味するヌルと区別するためにナルと読むことがあるようです。
私は気にせずヌルと読みます。
register
英語で「登録する」。スペリングは?
よくあるミススペリング: regist
正しいスペリング: register
IT用語ではありませんが、誤ったスペルがソースコードに頻出することで有名な英単語です。
registerは英語で「登録する」を意味する他動詞ですが、末尾にerが付いているせいで、それを取り払った”regist”なる存在しない動詞がしばしば生み出されます。なお、登録者は英語でregistererです。
カーソル
カーソルとは何でしょう?
よくある誤解: マウスなどで指し示す場所を表す矢印
正: 文字入力位置を指し示す縦棒
文字を入力する際にピコピコ表示される縦棒がカーソルです。
マウスの矢印は「マウスポインタ」です。マウスポインタはカーソルと混同され続けた結果、悪魔合体して「マウスカーソル」とも呼ばれるようになりました。
ややこしいことに、CSSでマウスポインタの形状を指定するプロパティ名はcursor
で、マウスポインタをリンクに重ねたときなどに使用される、指差しマークを表すcursor
属性値はpointer
だったりします。
関係データベース
関係データベースはなぜ「関係」データベースと呼ばれるのでしょうか?
よくある誤解: テーブルとテーブルが関係しているから関係データベース
正しい由来: 数学の「二項関係」をn項関係に拡張した、関係モデルに従うデータベース
関係データベースは数学の集合論を元にして作られているため集合演算と相性が良いのですね。
代理キー
関係データベース用語です。代理キーとはどのようなキー属性を指すのでしょうか?
Personnel(personnel_id, company_id, emp_id, name, mail_address)
社員を表す関係変数
Personnel
を考える。
Ruby on Railsでテーブルを扱う都合上、主キーとしてpersonnel_id
という連番を設定する。
全ての社員は一意なcompany_id
とemp_id
の組を持ち、またすべての社員は一意なmail_address
を持つ。この場合、代理キーはどの属性の組になるか?
誤:
{personnel_id}
正:
{company_id, emp_id}
および{mail_address}
代理キー(オルターネイトキー)とは「主キーに選ばれなかった候補キー」のことです。
上記の例でいう{personnel_id}
のように、人工的に付与されたキー属性のことを「代理キー」と呼ぶ例をしばしば見かけますが、そちらは代替キー(サロゲートキー)です。
誤解を避けるため、これらはオルターネイトキーやサロゲートキーと呼ぶ方が良いと思います。