把 Python 分類到 dynamic language,看起來就比 scripting language 專業!

thegiive 真的很知道玩 dynamic language (這個名詞聽起來就比 scripting language 厲害多了吧) programming 的人對什麼會感冒:

光是「絕對不是 JavaScript 那種 SCRIPT 語言可以比較的!」這句話,就會被 PHP / Perl / Python 社群罵死,根本不用 Ruby 來補這一刀。

所以我就忍不住也想要來淌一下混水了 (雖然不想罵死誰) ... 很久很久很久沒這樣幹了呀 :D 從奇怪的角度來看,對我個人來講,這也算是個紀念 :p

我想阿西摩在寫下這最後一段:

懂了嗎!? 不要再把 JavaScript 當成 Java 來看了。說真的,每次看到人家犯這種誤解,真的讓阿西摩感覺到我的專業被人家當成垃圾看待。因為 Java 背後的專業性,應用範圍,絕對不是 JavaScript 那種 SCRIPT 語言可以比較的!

的時候,應該沒有真的想要把「SCRIPT 語言」當成垃圾來看。不過身為一個寫 Python 多過寫 shell script 的人,當看到評論 scripting language 的段落中出現「垃圾」的時候,多少會停下來思考思考。

雖然說,把 Python 分類為 scripting language 沒有問題。但作為一個需要 compiler,具有 compiled bytecode,執行在虛擬機器上,並且還跑得有夠快的高階程式語言,把它分在 dynamic language 裡面會讓我覺得比較有道理;它和 bash shell script 不一樣的地方可多了呢。

這年頭大家講的 PHP, Perl, Python, Ruby 這些 "scripting" language 的能耐早就超過了編編指令稿 (script) 來呼叫外部程式,而是在語言的程式庫裡建立各種功能。這些語言本身變成了超級工具,讓使用者在電腦上能夠呼風喚雨。PHP 是動態網頁方面的首領、Perl 十分趁手於文字資料處理;Python 與 Ruby 更加具有通用性。像是標榜 batteries included 的 Python,在標準程式庫裡放了 dictionary, set, list 各種各樣的高階 container 類別、tar, gz, bzip2, zip 等壓縮程式庫、ftp, http, nntp 以及許多其它奇奇怪怪的網路資料處理程式庫,列出來好長一串。至於 3rd party 未收在標準程式庫裡的套件,更是多到數不完。

帶著數量龐大的程式庫和套件,在今天展露頭角的動態語言不再能說是玩具了。

得要承認的是,其實在以上所舉的四種語言中我只喜歡 Python;PHP 老是和 HTML 混在一起、Perl 我看不懂 (@_@)、Ruby 程式庫的數量沒多到能引起我的興趣。但不管怎麼說,這些語言工具都已經成長到了可以支援複雜應用的階段。如果被 scripting language 這個名詞帶來的刻版印象所迷惑,可就無法放開心胸接受動態語言帶給程式設計師的好處了。那是有點可惜的。

至於 JavaScript,我目前倒不大關心。所以本文似乎是離題了。

Posted by yungyuc at 21:39, 8 comments, 1 trackbacks.
Navigate
Add a trackback
Comments
Re: 有時候換個名詞,感覺起來就會不大一樣
Php 也可以寫 command-line 工具,甚至也可以 compile 出 bytecode ,有 BCompiler 的模組,也蠻好用的。
Kornelius at 2007-01-16 01:03.
Re: 有時候換個名詞,感覺起來就會不大一樣
Ruby 從來就不是 Scripting Language
他是商業性語言呀!!!
http://lightyror.thegiive.net/2007/01/blog-post_16.html
thegiive at 2007-01-16 13:02.
Re: 有時候換個名詞,感覺起來就會不大一樣
to Kernolius,

我知道 PHP 的泛用性也不低,不過拿 PHP 在網頁以外的用途 ... 我認識個強者真的會這麼幹,我就不必了 :p

to thegiive,

你寫得比較讚,我敗了 :D
yungyuc at 2007-01-16 13:15.
Re: 有時候換個名詞,感覺起來就會不大一樣
FYI,
http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/203
Thinker at 2007-01-16 21:31.
Re: 有時候換個名詞,感覺起來就會不大一樣
to Thinker,

唉,有空真該修修 trackback 的 anti-spam 了,抱歉抱歉。

trackback 關了這麼久都不管,然後偷懶去回人家的 comment,嘿嘿 ... (溜)
yungyuc at 2007-01-16 21:45.
Re: 有時候換個名詞,感覺起來就會不大一樣
yungyuc 大, 您所說的強者不會是某楓(老師?)吧 XD
cat at 2007-02-19 13:18.
Re: 有時候換個名詞,感覺起來就會不大一樣
to cat,

我想不是 :p 我認識的那位強者,網路上認識的人應該極少才是。

當然,在網頁以外用 PHP 的人,我覺得都是強者 (GJ)
yungyuc at 2007-02-19 16:28.
Re: 有時候換個名詞,感覺起來就會不大一樣
Andy Lester got a lightning talk on oscon2007 saying that we should call perl a "programming language":

http://youtube.com/watch?v=G1ynTV_E-5s

gugod at 2007-08-08 20:55.
Trackbacks
Perl 屬於專業編程語言
是的,不要懷疑,就如同標題所說的,「Perl 屬於專業編程語言」。看標題就知道這些日子以來我並沒有因為學了 python 與 ruby 就把 Perl 丟到一旁1 。<br /><br />為什麼「Perl 屬於專業編程語言」?原因...
Hi! I'm clsung at 2007-01-17 22:00.
Add a comment

Your name. (required)

Your personal website. (optional)

Your email address. Will not show in page. (suggested, but optional)

Text format is "Plain Text".

Enter "vrpXS"
© hover year to navigate month: powered by django