python在很多方面,如大資料處理\網頁爬蟲 等都很有優勢. 當然我們在這些領域中也可由替代的語言或工具 那麼 您認為在哪些方面python是有著絕對優勢 或者 明顯優勢的呢?
回複內容:
以下純屬個人觀點,歡迎從各個角度來噴。
以下不單針對Python,部分觀點同樣適用於C++,Java,PHP,Ruby,Lisp,Lua,Javascript。僅以Python等舉例說明。
1. 文法本身的區別只是為了省事。
文法糖,越大的項目中越不重要。
比如:
a = 1b = 2
編程0基礎入門。
Python源自電腦教學。Python最能讓初學者關注現階段最重要的東西-演算法和資料結構,而不必分心於以後可能重要的東西-如類型系統,指標等等。Prototyping / exploratory programming. 後者定義請參考《駭客與畫家》。
非 Lisp 系語言最好的 REPL,再加 iPython (notebook)這樣的神器,寫代碼可以邊想邊塗抹就得到原型了,C++/Java 是根本不可能的。而相比 Matlab 之類針對這種 workbook 用法設計的編程環境,Python 又是唯一(勉強)可以算是“工業級”的語言。
當用 Python 完成了一個系統的原型,驗證過想法之後,就是用其它語言逐步替換、強化系統的時候了。不用等編譯,文法友好,所以寫點一次性的處理指令碼然後丟掉毫不心疼(大誤簡單、簡潔、庫強大、開發效率高。網路安全最大的優點就是互動式吧,適合用來寫指令碼。python任何功能實現起來都很簡單算不算,初學python,c語言3年開發經驗
結果python實現一個東西的時間是C實現的幾分之一Python寫出的代碼最像虛擬碼,可讀性很好!省去了寫不少大括弧的時間。。。1) 兼具了面向過程、物件導向和FP的特點,不同水平的人可以寫出不同水平的python
2) 文法簡單,相對於perl的晦澀文法而言,python的非常簡單. 不過隨著發展,大家不喜歡將python和perl做比較了,而是喜歡和ruby做比較,但我個人覺得python使用範圍更廣,ruby目前主要用於是web和DSL,其他的地方ruby身影比較小。而python不但有web,也科學計算、資料採礦等各種應用。
3)庫豐富,翻看下python的stdandard library 就知道這玩意的類庫有多豐富了。
至於是解釋語言而非編譯性的這是否是一個優勢就仁者見仁智者見智了,我的看法是小程式基於python開發是完全沒問題的,但是項目一旦膨脹開來,則對解釋語言要有充分的測試才能保證介面變動時不會產生副作用和品質問題,看下django的代碼,架構代碼大概20萬行,測試代碼差不多10萬行,這個測試代碼所佔的比例是遠高於其他的解釋性語言的架構中測試代碼的比例的。