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,我目前倒不大關心。所以本文似乎是離題了。
- Previous: boolean/conditional expression @2007/01/12
- Next: Django 向 1.0 發進 @2007/01/16
Please send trackback to: http://blog.seety.org/everydaywork/2007/1/15/635/trackback/.
他是商業性語言呀!!!
http://lightyror.thegiive.net/2007/01/blog-post_16.html
我知道 PHP 的泛用性也不低,不過拿 PHP 在網頁以外的用途 ... 我認識個強者真的會這麼幹,我就不必了 :p
to thegiive,
你寫得比較讚,我敗了 :D
http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/203
唉,有空真該修修 trackback 的 anti-spam 了,抱歉抱歉。
trackback 關了這麼久都不管,然後偷懶去回人家的 comment,嘿嘿 ... (溜)
我想不是 :p 我認識的那位強者,網路上認識的人應該極少才是。
當然,在網頁以外用 PHP 的人,我覺得都是強者 (GJ)
http://youtube.com/watch?v=G1ynTV_E-5s