IT業界ではスペルミスした単語が、そのまま広く使われてしまったために、今さら修正できなくなってそのまま標準として使われてしまうことがあります。
結構面白いので、ちょっと例を見てみましょう。
目次
Google(企業名)
googolのスペルミスです。
10の100乗を意味するgoogol(グーゴル)をGoogleの創業者の一人であるラリー・ペイジがスペルミスしたことに由来しています。
Googleの場合、もはや固有名詞になってしまっているし、知名度も高いので、このままでいいでしょう。
referer リファラ(Web用語、HTTPヘッダの仕様)
referrerのスペルミスです。
リファラとは、あるWebページのリンクをクリックして別のページに移動したときの、リンク元のページのことです。
本来、参照元という意味の英単語は「referrer」であるが、HTTPリファラの場合は意図的に「referer」と綴る場合がある。これは、HTTPが策定された時にヘッダ名を間違ったスペルで書いてしまい、それが今でも使われている、という歴史的経緯のためである。
前述の通り仕様上のヘッダ名は「referer」であるため、特にHTTPヘッダを直接扱うようなソフトウェアプログラムの場合、「referrer」と綴ると意図通りに動作しない場合すらある。
(Wikipediaより)
HTTPの仕様上はrefererが正しいので、Webページでは英単語として正しいスペルreferrerは使わない方が無難です。
このブログはWindows Live Writeで書いているのですが、refererがスペルミスだって何度もWindows Live Writerで指摘を受けるのですが、敢えて、HTTPプロトコルとして正しい方のrefererと記述しています。
creat(Unixのシステムコール)
createのスペルミスです。
この原因としては幾説かありますが、事実はよく分かりません。
- 単純にUnixの製作者の一人であるケン・トンプソンのスペルミス説
- 当時のアセンブラーの機能が乏しかったためラベル名が6文字に制限されていて_creatで6文字になり末尾にeが入れられなかった説
有名な逸話のひとつに、「もし、もう一度Unixを作り直すとしたらどうしますか?」との問いにケン・トンプソンが「creatに"e"を付けたいね("I'd spell create with an 'e'.")」と答えたそうです。
SHStripMneumonic function(WindowsのAPI)
mneumonicは、mnemonicのミススペルです。
Windows XPで使うことが出来たC++からニーモニックを取得するAPIです。
マイクロソフトのプログラマーがミススペルしたようですが、Windowsの中では広く使われていたために修正できなかったようです。
このメソッドの使い方については以下に詳細が書かれています。
https://msdn.microsoft.com/en-us/library/windows/desktop/bb773837%28v=vs.85%29.aspx
Remarks
The term "mnemonic" is misspelled in the function name.
と書かれています。
HasBaseIndicies function(WindowsのAPI)
indexの複数形はindicesなので、これもスペルミスでしょう。
SHStripMneumonicと違ってMSDNにはミススペルとは書かれていないです。
このAPIは.NET Framework 4.5で出てきたAPIなので新しいです。
このメソッドを使うと、引数の配列に基本インデックスが0ではない次元があるかどうかを示す値を取得します。
まとめ
間違いの方が正しい方より広く普及すると、間違いの方が真となってしまうのはIT業界に関わらず広く一般にあることですね。
API名は、いったん普及してしまって、それを使っているアプリケーションが増えてしまうと、互換性を考慮してAPI名の変更を諦めるのは理解できます。
労力を考えるとその方が合理的な判断だからです。
ただ、Javaでコンパイルしていると、もはや互換性のためにしか存在しないバージョンアップしないメソッドとか使っていると、deprecated(推奨しない)って警告が出るので、使っている方もメソッドを変えたくなりますね。
互換性を考慮しつつも変更を促すというJavaを設計している人は偉いね。
コメント
[…] IT業界のスペルミス ミススペルが業界標準になるIT業界ではスペルミスし… […]