為什麼要使用 Python?

軟體品質?!

從Quora的問答裡面(http://qr.ae/I8dKt),比較了Python以及Ruby從語言上的差異,Python是從可讀性(Redabliity)出發所設計的語言,而Ruby是一個給予開發者極大自由度的語言,兩者從根本性的不太一樣。

但軟體品質是不是僅僅討論可讀性,或許也可以考慮一下一致性(coherence),同樣的一種目的function,有多少種可行的寫法?當有太多條路可以達到同一個目的地的時候,或許就會造成開發者的混亂。\n\n相較其它的的scripting language來說,Python可以被OOP的程度是相對高的。

程式猿的生產力?!

Python 加速了程式猿的爬行速度?因為比較Python和C++、Java,這種需要Compile的語言,同樣的功能Python所寫出來的長度也只有Java的3分之一到五分之一之間。

這也就意謂著程式猿可以輸入較少的Code,少的Code,減少了開發時間,減少了Debug的時間,最後因為Python可以直接Run,免Compile,所以他理論說開發速度會比較Java、C++這些需要Compile的語言來的快一些。

程式的可攜性?!

跨平台的特性,這個基本上我好像不是太在意,因為我目前的工作上,興趣上跨平台的機率實在不是很高,所以這點就帶過囉!

五花八門的Library?!

Python 本身已經有很多的build in function,同時也有很多的Libary可以用,從他在Github上面排名是第五名就可以發現(2013/07/12),而且Liabary的廣度也很廣,不過這不知道是優點還是缺點。\n\n在科學運算上,Python有NumPy、SciPy在撐腰,這部分是Ruby比較弱的,但是Web Development 上使用Django的人數和RoR就是完全不能比較了。

任意組合的可能?!

Python 可以和C++和C的Libary有互相的掛勾,同時也能夠和Java互通有無,當然和各種協定互相溝通也不是太大的問題,好比說SOAP。

開發的愉悅程度?!

聽說用Python寫程式很容易高潮,因為我初入門,我實在不知道用Python是不是容易變成敏感體質,這一部分等我實驗個一陣子,再來證實。