Why not Python?
Python是一款簡單強大又好用的動態語言,但我不解的是,為何這樣一個好用的語言,在國外已經流行了十幾年,但在國內不要說流行,問很多人的答案都是,連聽都沒有聽過,在探討為何使用Python之前,我先分析為何Python在台灣不流行。
我想最主要的原因就在於,Python在國內的資源相當少,連有關Python的書都少到可憐,真正Python的資源幾乎都是用英文寫的,所以如果英文能力不夠好,沒辦法找到Python的資源,台灣的業界也很少人用,造成會用的人不多,工作需求也不高,所以也沒人知道或是想去學這種語言。
除此之外,人們總是喜歡熟悉的事物,對於新的事物總是抱持著一份懷疑的心態,對於Python這樣一款沒聽過的語言,我一開始也是抱持著半信半疑的態度,而如果因此而不去學的話,是我自己的損失,我後悔沒有早點學Python,因為在學Python之前,很多程式我都用C++重頭慢慢開始寫起,但是那樣的程式其實只是要用一次兩次而已,光是編譯的時間就讓人吃不消,開發時間遠比效能重要太多了,再加上我當時寫的那些程式是用於網路抓資料,真正的瓶頸在於網路品質,而不是執行效率,因此,不用Python而辛苦地使用其它語言來做這類的工作不是什麼明智的選擇。
Why Python?
簡單易學
Python是一款相當簡單易學的語言,如果你已經學會其它語言,Python將會非常容易上手,它語法簡單,使用上也很簡單,各種現成的模組使用也都很簡單。
可讀性佳
Python有非常良好的可讀性,它的作者花了很大的心力在於提升可讀性,語法簡單明瞭,它有個其它語言少見的規定,就是強制縮排,強迫你在各個Block,也就是if、while、for、函數等等地方一定要縮排,還有語法內建文件的格式,所以程式的文件常常可以寫在Python程式裡面。
豐富的標準函式庫
這也是Python的好處之一,光是內建的標準函式庫,就可做大部份你想做的事。
眾多的社群與第三方程式庫
Python在國外發展已經有十幾年了,因此已經有相當多的社群和第三方的函式庫,標準的程式庫加上第三方的程式庫,幾乎你想得到的程式庫都有,舉個例子來說,這個教學網站的舊版的文章系統,就是用基於Python的一套網頁開發的 Framework : TurboGears,非常的強大與易用,新版的網頁,目前你所見到的Plone,也是一個用Python寫的CMF(Content Manage Framework)。
活躍的社群
Python本身的社群相當活躍,並不會死氣沉沉的,其語言本身也一直在改進中,你不必擔心學到一款過時的語言,而是一款老練地、持續進步地語言。
物件導向
Python也是一款物件導向的語言,因此不光是小程式,當程式越寫越大,物件導向的特性也讓Python用起來也得心應手。
動態語言
Python同時也是一款動態的語言,因為它是直譯式的語言,所以幾乎任何東西都可以在執行時動態決定,這大大地增加了使用上的彈性,也省下了重新編譯的時間,讓開發週期更短,生產力提升。
開發快速
基於種種理由,使用Python開發非常地快速,以往我用C++來寫時效性比較重要的程式,但是我發現這樣只是在浪費保貴的開發時間,因此我開始尋找另外的程式語言,後來我選擇Python,果然Python從此深得我心,大大地加速了我開發的速度。
跨平台
Python可以說是跨平台的語言,因為它是直譯語言,所以任何只要實作直譯器的平台幾乎都可以執行Python,目前現有的平台幾乎都有Python的直譯器版本。
被廣泛使用
Python在國外早已被廣泛使用,證明其穩定和其好用之處及受歡迎的程度,美國太空總署NASA使用Python,Google使用Python,Youtube使用Python.....,還有相當多使用Python成功的實例,因此 Python並不只是誇大,而是真的非常強大與易用。
容易擴充和嵌入
Python本身非常容易被擴充,例如你要求運算非常大量,而且要速度夠快,這時你就可以考慮將這些負載量大的部份,用C語言來寫,然後用Python來引用,就可以加快速度,而Python也可以嵌在其它程式裡面,這樣的特性讓 Python非常有彈性,C++的一個第三方函式庫(正在蘊釀成為標準函式庫),裡面就有可以讓Python和C++輕鬆結合的函式庫。
深思熟慮的設計哲學
Python並不盲從其它語言的一些慣例,Python自身有一套經過深思熟慮後的設計哲學,在很多地方你都可以看見Python它被如此設計背後的道理,最有名的例子就是Zen of python http://www.python.org/dev/peps/pep-0020/
良好的文件
拜內建的文件系統所賜,很少你會找不到文件可看的情況,所有東西通常都是有良好的文件說明
學習Python吧
這麼好用的語言居然不為人知實在是太可惜了,所以我希望能夠在國內推廣Python,所以才寫這一系列教學文章,教你如何學習和使用Python,如果你覺得Python很好用,也請多多推廣這個好用的語言。 |
|