如果程序语言是一门宗教

转自The Atheist Blogger Just For Fun^^同时推荐一个有趣的統計資料: TIOBE Programming Community Index。TIOBE编程语言排行榜给出了各种编程语言的流行趋势(并不是为了衡量哪种编程语言最好或者是用哪种编程语言写出来的代码最多),每個月更新一次。前十名程序語言基本都是老面孔了,包括: Java、C、C++、PHP、Visual Basic、JavaScript、C#、Python、Perl、Dephi

C语言是犹太教—它古老而严格,大多数人都了解它的规矩法则,并表示尊重。问题是,你不能中途皈依于它—-要么从一开始就坚信不疑,要么认为那是精神错乱。而且,当出了问题时,很多人更愿意责怪那些问题。

JAVA是基督教原教旨主义—它从理论上根植于C,但去除了很多老规矩,使它看上去根本不是起初的样子了。相反,它增加了一套自己的严格守则,被信徒认定远比其源起要高级得多。信徒们认为它是世界上最优秀的语言,谁要不认同它,他们就会将其毁灭。

PHP是Cafeteria 基督教—与JAVA争斗网络市场。它自C与JAVA中汲取了一些自己喜欢的概念。可能与其他语言相比,它没有那么一致连贯,但至少给了你更多的自由,并且表面上保持了整体的核心思想。而且,“下地狱去吧”这样的理念没有了。

C++是伊斯兰教— 它取自于C,不但保持了C的所有规则,还增加了一套新的非常复杂的规则,置于其上。它的功能如此强大,可以用于建立任何东西,从极端的暴行到美丽的艺术品。其信徒们认定这是最终的万能语言,如果你表示异议,他们可能会生气。而且,如果你侮辱了它或其创建者,你可能收到更多狂热信徒发出的死亡威胁。

C#是摩门教—第一眼看上去,它跟JAVA一模一样,但更进一步接触后,你会发现它由一个单一组织控制(许多JAVA信徒认为这是罪恶),而且许多理论上的概念非常不同。你怀疑它可能真的好用,如果你追随它,会遭到所有JAVA信徒的歧视。

PYTHON是人道主义:它简单,没有限制,你只需以平常心待之。诸多追随者声称:他们从其他语言那里获取的所有重负在这里得以释放,他们重新发现了编程的乐趣。也有人说它是伪码的一种形式。

PERL是伏都教(一种西非原始宗教)–令人费解的系列神秘咒语,比如公羊的血和永久破坏你的灵魂。经常在你的老板周五晚21:00点需要你加班时使用。
继续阅读“如果程序语言是一门宗教”

非主流语言: Leet

电视里说青少年正在使用一种叫Leet的复杂的危险的语言来联络——让父母们担忧的原因是这种语言看似天书,是一堆无意义的字符。其实它应该是一种加密语言,而且加密方式很简单——就是字符替换而已,对于中情局来说简直是小儿科。
比如: \0vv 15 7-3 71v3 蹴算是筌世堺都把祢否订,我也会垨护在伱身笾
其实这两句话是说: Now is the time 就算是全世界都把你否定,我也会守护在你身边

这种利用变形和形近字(符号)来表情达意的方法是互联网世界特有的。换句话说,leet其实就是将系统庞大结构严谨的语言文字,特别是文字密码化的过程。英文中一般是用形体相似的数字或符号甚至是同音词汇来代替具体字母实现语句的密码化,比如用1来代替i,用0来代替o等等。

其实Leet这个词本身也是一种变体,它的意思不是这个英文词的本义“民事法庭”,而是elite(精英)的变体。Leet一词源于的elite,由elite转为eleet后再转变为leet。对于中文Leet除了吸收英文Leet外,还发明了自己的独特方法:比如拆字法(女口果人尔能看日月白这段言舌,那言兑日月人尔白勺目艮目青有严重白勺散光)和形近法(蹴算是筌世堺都把祢否訂,我也會垨護在伱身笾)这就是传说中火星文…

具体应用: 其实最初Leet被创造出来是带有叛逆和游戏色彩的,是对现有语言文字系统的戏仿和颠覆。但因为它的特殊性,除了leet用起来很酷,可以拿来炫一炫外,还衍生出了许多特殊的用途:通过它逃避内容的审查、关键字的过滤;搜索引擎无法提取它的原意,也就无法通过传统的字句搜索到你的Leet语句,这样可以避免自己的信息泄漏(现在Google针对它专门推出了用来搜索Leet的引擎:www.google.com/intl/xx-hacker); 写情书或者暗号标记(有用! 呵呵); 用Leet注册密码也能保证安全性。 当然也有leet翻译和生成的工具:
http://ryanross.net/leet/
http://home.no.net/hellshl/main/translate.html

以下表格是常见的Leet写法: (具体可以参看wiki的说明)

自然这种加密方法利用数学是很容易破解的,但是如果是几千年后,语言学家来破解如今的语言,然后却不巧遇见了leet语言,恐怕会疯掉吧。因为经过两层加密,利用普通的计算字频的方法只会得出不合逻辑的答案。