Skip to main content

Posts

Showing posts from January, 2009

编程语言与信仰

原文来自《If programming languages were religions》,从宗教的角度来看看各种常见 语言的特点,感觉很有意思。 C 是 犹太教 ——很古老而且戒律很多,但大多数人都熟悉并尊重其戒律。问题是很难皈依它,你要么开始就信仰它,要么会认为它简直太疯狂了。而且,一旦事情出了差错,人们就会怪罪于它。 Java 是 正统基督教 ——理论上来说它基于C,但它去掉了很多老的戒律,以至于跟原教旨已经大相径庭。另外,它新加了一套严格的教义,追随者们相信这些比原来的教义更为重要。他们认为这是世界上最好的语言,而且会将所有的异端烧死在刑柱上。 PHP 是 Cafeteria基督教 ——与Java在Web开发领域进行竞争。它引入了C和Java的一些概念,但只限于它所喜欢的。也许它不像其它语言那样条理清楚,但至少给你了更多自由,看起来还算一个整体。而且不会有下地狱(goto hell)这样的说法。 C++ 是 伊斯兰教 ——来源于C,不仅保持了后者的戒律,还变本加厉加入了一套新的复杂戒律。它是如此地多才多艺,可用于构建任何事物,从弥天大罪到美丽的艺术品,追随者们相信它才是终极语言,并会被持不同意见的人激怒。更可怕的是,如果你冒犯了它或者是它的创始人,你的生命都会受到威胁。 C# 是 摩门教 ——乍看之下,它跟Java一样,不过仔细一看就会发现它被单一组织所控制(很多Java的追随者将其视为恶魔),而且很多概念都不相同。你在暗忖,它也许不错吧,呃。。。希望你不会被Java的追随者们歧视。 Lisp 是 佛教 ——没有语法,没有核心教义,也没有让人膜拜的神。就看你的造化了——需要你有足够的悟性。有人说它压根儿就不是一门语言,有的人却认为它是唯一有意义的语言。 Haskell 是 道教 ——与其它语言差别太大,以至于很多人怀疑它到底能做什么。其追随者相信它才是通往智慧的正道,只是这些智慧为大多数世俗之人力所不及。 Erlang 是 印度教 ——又一种奇怪的语言,看起来没什么用处,但不像大多数其它的现代语言,它建立在“同步之神”的基础上。 Perl 是 巫毒教 ——一套神秘的、难以理解的咒语,会让你的灵魂永久地堕落。老板在周五晚上九点吩咐你一项紧急任务,这时就得靠它了。(想起兽族部落的巫毒商店,而且它与萨满教有些类似) Lua