在计算机领域,黑客们常常不墨守成规,事事都讲究别出心裁,即使是一个简单的命名,都想玩出花活。
其中有一个较早的传统,就是使用幽默地引用自身或其他缩写的缩写。最早的实例可能是在1977年或1978年间出现的TINT("TINT Is Not TECO",TINT不是文字编辑器和修正器),它是一个MagicSix的编辑器。这又启发了麻省理工大学的两个Lisp机器编辑器的命名,一个叫做EINE("EINE Is Not Emacs",EINE不是Emacs),另一个是ZWEI("ZWEI Was EINE Initially",ZWEI一开始是EINE)。后来又有了Richard Stallman的GNU(GNU's Not UNIX,GNU不是UNIX)。
许多递归缩写包括否定语,通常用来指出这个缩写指代的事物a不是与另一个事物b相类似(但事实上,这个事物a通常与b非常相似甚至是b的派生品)。
在这方面著名的递归缩写包括:
- Allegro—Allegro Low LEvel Game ROutines(注意:这个缩写原先叫Atari Low LEvel Game ROutines直到开发脱离了Atari ST)
- Bing—Bing is not google
- CAVE—Cave Automatic Virtual Environment
- Cygnus—Cygnus, Your GNU Support
- giFT—giFT: Internet File Transfer
- GiNaC—GiNaC is Not a CAS
- GNE—GNE's Not an Encyclopedia
- GNU—GNU's Not Unix
- HIME—HIME Input Method Editor[2]
- JACK—JACK Audio Connection Kit
- JOE—Joe's Own Editor
- KAGE—KAGE: Alternative Game Engine
- KINACS—KINACS is not a circuit simulator
- LAME—LAME Ain't an MP3 Encoder[3]
- LiVES—LiVES is a Video Editing System
- MiNT—MiNT is Not TOS(后来变成"MiNT is Now TOS")
- MINT—MINT Is Not TRAC
- Mung—Mung Until No Good[4]
- Nagios—Nagios Ain't Gonna Insist On Sainthood
- NiL—NiL Isn't Liero
- NINJA - Ninja Is Not Just Air[5]
- PHP—PHP: Hypertext Preprocessor (原先是"Personal Home Page" tools,在PHP 3发布后改变)[6]
- PINE—PINE Is Nearly Elm,这是原先的;现在PINE的官方解释是"Pine Internet News and E-mail"[7]
- PIPS—PIPS Is POSIX on Symbian OS
- PNG—PNG's Not GIF
- RPM—RPM Package Manager(原来叫"Red Hat Package Manager")
- Scaled—Scaled Composites: Advanced Link to Efficient Development
- SPARQL—SPARQL Protocol And RDF Query Language
- TiLP—TiLP is a Linking Program
- TIP—TIP isn't Pico(原名叫Nano text editor)
- UIRA—UIRA Isn't a Recursive Acronym
- WAM - WAM Account Manager
- Wine—Wine Is Not an Emulator[8]
- XINU—Xinu Is Not Unix
- XNA—XNA's Not Acronymed
- YAML—YAML Ain't Markup Language(最初叫"Yet Another Markup Language")
- Zinf—Zinf Is Not FreeA*p
- ZINC—ZINC Is Not CMS
互相递归或者其他特殊递归方式
- GNU Hurd计划的名称使用了一种互相递归的特殊方式:"Hurd"代表"Hird of Unix-Replacing Daemons",而"Hird"意义是"Hurd of Interfaces Representing Depth."
- GNUBrain计划是另一个互相递归的实例。"Brain"代表"Brian relates any independent node"而"Brian"代表"Brain implements a network".
- RPM和PHP原来是常规的首字母缩写但后来重新定义成递归缩写。
- 大多递归缩写都在第一个字母上递归,但YOPY, "Your own personal YOPY"是在最后一个字母上递归 (因此最后一个字母等于第一个字母).
看完是不是觉得很有意思呀,关注一波再走吧。