PHPの最初のPはPHPのP?
こんにちは、シナゲートの岡松です。
突然ですが、PHPというプログラミング言語をご存知でしょうか?
私がよく使う言語の一つなのですが、ふとPHPが何の略か知らないな~と思い調べてみると、以下の記述が見つかりました。
『PHP は PHP: Hypertext Preprocessor の略です。』(php.net)
………………。
PHPの最初のPはPHPのPだそうです。なぜHPではないのでしょうか?
このように、正式名称の中にその頭字語自体が含まれるものは再帰的頭字語(recursive acronym)と呼ばれ、情報技術系の界隈でしばしば目にします(GNU、YAMLなど)。
PHPについては、元々Personal Home Page Tools(PHP Tools)として作られたものに機能が追加され、当初の名前と実態が乖離していく中で、略称を維持したまま現在の名称に変わっていった経緯(php.net)があるようです。
IT界隈で再帰的頭字語がよく使われるのは、PHPの例のようにアップデートが重なり名前と機能がずれていくことがある点、その際に頭字1文字分を考えずに済むため、略称を変えずバクロニム※的に名称を再定義しやすい点などが影響しているのかもしれません。
※ 後発的に頭字語としての意味を持たせること。元々意味を持たない”SOS”を”Save Our Ships”として解釈するのはバクロニムの一例。
npmはNode Package Managerの略ではない?
npmでも同じようなことが起きていました。
多くの人にnpmはNode Package Managerの略と認識されていますが、公式のGitHubやTwitterで以下のように否定されています。
"npm" doesn't stand for "Node Package Manager".
It stands for "npm Is Not An Acronym".
Why not "NINAA"? Because then it would be an acronym.— npm (@npmjs) August 22, 2011
『”npm”は”Node Package Manager”の頭文字ではありません。”npm Is Not An Acronym(npmは頭字語ではない)”を表します。では、なぜ”NINAA”じゃないのでしょうか?それだと頭字語になってしまうからです。』
『npmの前身は、各プラットフォームに様々なものをインストールするbash機能のpm(pkgmakeinstの略)なので、敢えてnpmを頭字語と捉えるのであれば”node pm”や”new pm”になります。』(GitHub)
………………………………。
つまり、npmとは機能的にはNode Package Managerであるが、npmという名称はNode Package Managerの略ではなく、”npm Is Not An Acronym”を表しているとのことです。ややこしいですね!
実はこういった”〇〇 is not ××”形式の再帰的頭字語は意外と少なくないです。
上述したGNU・YAMLもこのタイプで、それぞれ”GNU is Not Unix”、”YAML Ain’t Markup Language”の頭字語とされています。
既存のものと比較して上位であるということを皮肉的に強調しやすく、使い勝手のいい表現なのではないでしょうか。ザクとは違うのだよ
ネーミングは大事
IT業界でも子育てと同様に、生みの親の思想が名前に反映されることは少なくないようです。
Personal Home Page Toolsを逸脱していったPHPの例を鑑みると、とりあえず抽象的なネーミングにしておくのが無難な気がします。
個人的にはPHPフレームワークのLaravelぐらいがちょうどいいと思いました。
https://twitter.com/abigailotwell/status/636178413523329024
LaravelはTaylorが考えた名前で、ナルニア国物語の王都ケア・パラベルに由来しています。
特に深い意味はなく、語感が気に入っていたそうです。
自分も子供に名前を付けるときは語感で決めようと思います。
新卒で入った企業で、聞いていたものと異なる業務を2年経験した後に転職。関東近郊から通勤する予定だったが、昨今の情勢を鑑みて実家からリモートワーク中。
関連記事
CONTACTお問い合わせ
システム開発やWEBサイト制作についてのご相談、お見積のご依頼などは、下記の窓口にて承ります。
まずはお気軽にお問い合わせください。お問い合わせはEメール・お電話にて承ります。
03-6413-7735受付時間/9時~18時(土日祝 定休)
- 制作のお問い合わせはこちら