為何python現在越來越多的人在用了?
曾幾何時,python這門語言我並沒有聽過,那個時候只知道C,後來學了C++,用了C++ Builder和VS,再後來學了C#的皮毛,繼之是Lua,覺得差不多了。但是最近買了本python的書之後,覺得python處理問題更簡便了。
C++之父Bjarne Stroustrup曾經說過:C++如果沒有好的庫,可以做的事情有限,但是如果有很多優秀的庫,那麼C++無所不能。
而python正是做到了這一點,它有很多優秀的庫,xmlrpc、mysql、codec等等(具體更多的庫請下載python3自己檢視),可以讓大家更快速的開發自己需要的功能。
我只是簡單的看了python的一些簡單的內容,列表、檔案、異常、推導資料等,還有xmlrpc和codec庫的使用,覺得真心舒服。就拿codec來說,如果你不使用任何庫,自己寫轉碼,我覺得包含我在內的一大部分人都寫不出來,因為很麻煩。
python的優點還不止這些,他還可以做web應用,移動應用,GUI等等,它有一個共享開放的社群,裡面有全世界python愛好者共享的程式碼(C++就是因為庫太多,並且太分散了,所以挑起來很麻煩)。
當然了,有優點,隨之而來的就是缺點了,人們總是吹毛求疵,python執行速度慢是個非常大的缺點,酷殼的站長陳皓跟人比賽分析500MB的mysql,最後存成CSV檔案,陳皓用python寫的,他那朋友用C++寫的,最後陳皓的執行時間太長了,導致他懷疑是不自己程式碼寫的太爛了。其實並不是這樣子的,python執行慢很大一部分原因是自己的問題,所以出現了一個叫Psyco的模組,專門用來加快python的執行速度,後來改名叫PyPy了。有人測試了C和python執行斐波那契數列的速度,沒用Psyco之前,C是python的三倍速度,用了之後是差不多時間的。
看了python之後,覺得C++和python的絕對一對兒好基友,C++比較死板,而python正好補充了這點,並且有boost.python庫,這對基友可以更deep的交流了。
現在網易的遊戲在大量使用python,這是從買bigworld留下的習慣,不過感覺python有點過於靈活了,策劃不好掌控,一個不慎,可能有很多棘手的問題。而Lua比較近C風格,靈活性也夠,導致現在有大量的專案採用Lua作為指令碼語言,不過說實話,C++和Lua互動真心麻煩,當年LuaBind還算好,並且準備提交boost,但是後來不寫了,可惜一個好專案了。
好了,本文就說這麼多了,全是隨性而寫,沒什麼提綱,僅是一篇自己的想法,並無黑某門語言的一說,也請大家不要做無謂之爭,謝謝。