早在四年多以前,在我進入英才網之前,去面試過一家海歸創業的公司。他們需要的是有unix開發經驗的技術人員,但是因為他們當時所處的階段對很多成熟 技術人員不是很吸引,所以條件放寬為熟悉面向對象的程序開發即可考慮。我當時草草看過過一遍C#的語法,當時的水平對一門新語言的掌握速度遠不如現在,因 此也僅學到點皮毛,對于很多概念都不了解,比如重載和重寫就不知道。我第一次聽說Python這個語言,就是在那次面試。
當時面試官在了解了我的情況之后,問我都掌握一些什么語言。我說我會什么什么(在這里不好意思列舉),并且說剛剛學習了點C#。他說,那你對 Python了解嗎?我當時就茫然了,然后傻了吧唧的說,我對這些新技術了解的不多。結果搞得那人也有點不知怎么說才好,憋了半天,才說,這個技術其實也 不是很新,只是在國內不怎么流行。后來我才知道,這個技術確實已經可以算是比較老了。令我沒想到的是,時過4年,這個技術在中國也變得如此流行了。
言歸正傳。打算學Python,還得從開放平臺說起。自從閉關以來,狂上網了解這幾年的技術趨勢,發現最近很流行開放平臺。除了社交類網站的開 放平臺,google、百度等也推出了自己的開放平臺。百度的風格很中國,總也搞不起來那種實驗室、學院派的氣氛來,反觀Google就顯得更有聲有色一 些。了解了Google 的App Engine,看到它指定的開發語言就是Python(java作為第二語言也被支持了),于是就打算先學學這門語言。
買了本Python的中文教材,下載了一些視頻。然后上到官方網站Python.org,習慣性的下載了最新版的Python解釋器,然后就開 始嘗試。但是郁悶的是,按照教程編寫的第一個程序就不成功??磥砜慈ィl現原來Python3和Python2是完全兩個不同的東西。我按照 Python2.7的教程編寫的程序,在Python3下根本就不能正常運行。于是,又到Python的官網上仔細看了一遍,發現這樣一個頁面:http://wiki.python.org/moin/Python2orPython3 。這篇文章的題目就是:究竟是選擇Python2還是Python3?
這篇文章開篇第一句話,讓我心里拔涼拔涼的:Python 2.x is the status quo, Python 3.x is the shiny new thing。嘛意思?意思就是,Python2.x到此為止,你可以繼續用,但是我們不會再對這個框架進行升級。Python3.x將是一個全新的東西。 說白了,就是我們準備拋棄Python2.x了,就像MicroSoft當年拋棄asp一樣,這個語言的下一個版本會被完全重新設計。問題糾結 于,Python2.x經過那么長時間的發展,已經積累了大量的財富,有大量可以直接采用的解決方案,而Python3.x的應用還是空白。那么,作為一 個初學者,應該學哪個版本呢?
說實話,我也沒辦法給你確切的答案。而官方給出的建議是:Which version you ought to use is mostly dependent on what you want to get done。說的多好啊,比中國人還深諳太極之道??磥聿恢挥耙暶餍巧瞄L打太極,技術明星也一樣。不過,官方還是給出了一些具體的建議的。 Python2.x好在哪?首先,它有大量的現成函數庫可用;其次,現行的Mac和linux默認的解釋器還是Python2.x的。而有些情況下,你還 沒得選擇,必須用2.x,比如當你的程序的運行環境不取決于你的時候,Google 的App Engine就是用的2.5版本。但是,人家官方也說了,雖然2.x是寶刀未老,但是3.x作為一門語言來說也是definitely ready的,所以到底怎么選還是要看你。
我的建議是,如果你有確切的項目要做,或者你學習這個東西希望在半年之內有所成并且希望仗此謀得一份工作,我建議你學2.x。比如我就是想嘗試 嘗試Google的開放平臺,那么我會選擇2.x。如果你只是對這門語言感興趣,想學學,而又沒有具體的時間表說哪天哪天我必須要用它來做什么,那么我建 議你學3.x,這樣你能完整的跟著這門語言一起成長,等到它的應用環境成熟的時候,你也已經是個可用之才了。并且,對于學習2.x的朋友,我建議你有時間 有精力的話最好也適時開始3.x的學習,3.x才是未來。
新聞熱點
疑難解答