What have you found for these years?

2009-01-11

If programming languages were religions...

If programming languages were religions...
http://www.aegisub.net/2008/12/if-programming-languages-were-religions.html

看來自:
http://flolac.iis.sinica.edu.tw/lambdawan/node/130

當初看時幾乎每一句都覺得很好笑,可惜現在笑不大出來了 XD
不知道那時候在想什麼...

不過老實講,我覺得這篇很多都滿中肯的 XD
或許程式語言確實也有一點宗教的味道在吧。
(也許信仰的分類就是宗教了...?)
如果自然語言也能夠像程式語言這樣比較,大概會形成更強烈的競爭?

*

C 是猶太教(Judaism),傳統而古老。我想應該沒什麼人會質疑 C 的地位。
不過 C 之所以會有今天的地位,大概也有很大的因素是因為 UNIX. 或許對於
貼近現代電腦架構,但又不要低階到組合語言,C 就是那個最中庸的位置吧。

Java 是基督教基本教義派。(Fundamentalist Christianity)
不好意思宗教不熟,用詞可能錯誤,也懶得查證了,將就將就吧 @@
以 C 為基礎,去掉他認為不好的,加上他認為好的。而且很多人確實
認為 Java 是最好的,並打擊其他不認同這個觀念的人...
這麼多程式語言,就我所看到這點真的是 Java 社群最嚴重。

PHP 是... 某種基督教 -_-b (Cafeteria Christianity)
這段我不大同意,基本上跟 PHP 最接近的語言應該是 Perl,
PHP 跟 Java 雖然在 web application 上是呈現競爭狀態,
但問題是兩者差異太大,對於熟悉的人來說,這兩者應該是兩回事。

C++ 是伊斯蘭教(Islam)。保留 C 的基本規則,加上更多更複雜的規則。
can be used to be the foundation of anything,
from great atrocities to beautiful works of art.
他的信徒們認為 C++ 是 ultimate universal language,
(對不起這些都不知道怎麼翻譯比較好... universal 好難翻啊)
也會被不同意這件事的人所激怒。well, 我承認確實有這個味道在 XD
連我自己都有一點這樣。不過由於信徒比 Java 少很多,所以感覺不強烈。
用的人很多,但真的了解他的人相對來說很少... 了解不夠深入,
當然也就不會被囚錮在這件事上。

C# 是摩門教(Mormonism)。這段看不太懂... 不太明白他想表達什麼 XD
可能是因為我跟 C# 不熟吧。跟上面比起來的,C# 確實是我最不熟的。
不過乍看之下跟 Java 是一樣的,這件事倒是真的。

Lisp 是佛教(Zen Buddhism)。這段講得還滿玄的... XD
總之就是沒有主神,也沒有基本教條。沒有什麼在搖不可及的地方,
只要你得道夠高,什麼都在眼前。
The entire universe is there at your reach -
if only you are enlightened enough to grasp it.
有人認為 Lisp 不只是一個語言,也有人認為只有 Lisp 才是語言。
畢竟是:
Lost In Stupid Parentheses,
or Lots of Irritating Superfluous Parentheses. XDDD
基本規則只有:「括號」

Haskell 是道教(Taoism)。和其他的語言都不一樣,所以很多人
搞不懂這東西要怎麼寫出能夠用的東西?信徒們認為這才是通往智慧的
真正道路,但大部份的人並沒辦法體會這個智慧的所在。照這樣的形容,
基本上我大概也算是 Haskell 信仰者之一了 XDDD
確實大部份的人並沒辦法體會 Haskell 的道理啊...

Erlang 是印度教(Hinduism)。另一個不知道要怎麼用的奇怪語言。
這段可以很明顯看出作者不太清楚 functional programming 是怎麼回事 XD
也沒對 Erlang 下什麼評語,是不懂 Erlang, 還是不懂 Hinduism?

Perl 是巫毒教(Voodoo)。我記得我看到這句有笑出來 XDD
會使你的靈魂腐敗,一連串用山羊的血進行儀式的古老咒語。
通常用在你的老闆在週五晚上九點時緊急要你完成的工作上。 XD
這應該是用在工作上,還是老闆上? XD
這段沒有提到信仰者,基本上應該也算是滿激進的一派。
看看 Larry Wall 的那兩條規則:

1. Larry is always by definition right about how Perl should behave.
This means he has final veto power on the core functionality.

2. Larry is allowed to change his mind about any matter at a later
date, regardless of whether he previously invoked Rule 1.

Lua 是威卡教(Wicca)。原諒我沒聽過這是什麼,隨便上 wikipedia 看中文是啥。
作者似乎是指他能夠 embed 在許多的語言中。不過我覺得這是實作問題,
跟語言本身倒是沒什麼多大的關係。Lua 我是沒寫過,他的概念滿特別的,
對於 "table" 有各種奇怪的用法。或許也有一點像 ECMAScript 吧?

Ruby 是新異教(Neo-Paganism)。我猜大概就是新興宗教的泛稱吧?
混合了各種語言的概念,組合成一個可以被視為新語言的語言。雖然看起來
很可疑,但他們並沒有想要傷害任何人 XD

Python 是人道主義(Humanism)。其實簡單地說大概就只是那句話:
There should be one—and preferably only one—obvious way to do it.
雖然一板一眼我是覺得不太符合人性... 不過基於「維護」,大一統的思想
確實是比較人道吧...? XD

COBOL 是古異教(Ancient Paganism)。曾經大量地被使用,
但現今幾乎已經完全死去。對我們都好 XD 不過也是有人堅持著 COBOL.

APL 是山達基教(Scientology)。這我也是完全沒聽過...
而且 APL 也確實不能算是我的年代的東西 XD 雖然 COBOL 也不是,
只是 APL 不曾被大量使用過,所以不熟悉應該也是理所當然的?
看看 wikipedia 寫:Influenced by mathematical notation
還有浪打王上莊老師所說:
http://flolac.iis.sinica.edu.tw/lambdawan/node/122#comment-268
(∼R∈R°.×R)/R←1↓ιR
是一個計算至 R 而止的所有質數的程式,照這樣看,要流行起來可能才奇怪吧 @_@
不過 APL 會是偽科學嗎? I don't think so...

LOLCODE 是飛天義大利麵條怪物(Pastafarianism)。這不管是
宗教或是程式語言我都沒聽過 XDDD 這又名 Flying Spaghetti Monster,
FSM, Finite State Machine, 其實是一種有限狀態機? XDDD
大概是 lol + code 的意思吧。不過單就 esoteric pl 而言,
我還是比較喜歡 brainfuck 或 whitespace XD
另外 wikipedia 上 LOLCODE 那頁有提到這篇文章哩。
看來這語言應該不太有名,所以這篇文章反而算是幫他宣傳了...

Visual Basic 是撒旦教(Satanism) XDDDD
這很明顯不用認真,只是作者討厭他而已 XD

4 retries:

ET Blue said...

我現在看也覺得很好笑 XDDDD

欸,還是說,覺得好笑是圈外人的特權?就是那種還沒其中奧妙給被機歪過的人... XDXD

ET Blue said...

更正:「被其中奧妙給機歪過」

Lin Jen-Shin (godfat) said...

嘛,可能吧.... XD
也可能只是單純我笑完了就沒笑了 XD

Lin Jen-Shin (godfat) said...

喔對了,剛剛要講這個,結果不小心關掉 firefox 就忘記了...

這個也非常好笑,不過難度很高... 要知道很多歷史,才知道為什麼錯,而且為什麼錯得很好笑
A Brief, Incomplete, and Mostly Wrong History of Programming Languages

Post a Comment

All texts are licensed under CC Attribution 3.0