一個身居中國的法國程序員談Python與PHP
原創【51CTO獨家特稿】大家好,作為旅居北京的法國人Guillaume Bouriez,我跟各位一樣每天生活在街巷胡同之間。我目前在豆瓣公司工作,還有個剛剛三歲的小兒子。
Guillaume Bouriez 中文名:鬼庸
豆瓣:ruim
網絡以及移動領域的方方面面都非常吸引我,而且我很關注中國在此時此刻正悄然發生著哪些變化。我是客服工程師出身,拿過碩士文憑,漢語學習則是在四川大學完成的。另外我對中國古代文化很感興趣,也讀過不少這方面的著作。
Guillaume Bouriez是一位來自法國的開發者,目前在國內非常小資的社區豆瓣工作。談到豆瓣,鬼庸認為:“豆瓣稱得上當今中國***個性魅力的網絡公司。看看我們所推出的產品,再與其它競爭對手加以對比,大家應該會明顯感到豆瓣所打造的使用界面簡潔而直觀,同時擁有高質量的信息內容。正是這一點令我決定成為該公司的一員。我真心希望自己參與的項目及產品能夠為用戶帶來樂趣,這也正是我在收到豆瓣公司的錄用通知后欣然接受的原因。”
在交流的過程中,鬼庸說:“我是個不折不扣的Python粉兒,并且樂于到處宣揚這一點”。鬼庸還告訴記者:“我的上一份工作是在北京一家規模不大的法國公司擔任CTO,當時我們的技術堆棧主要是LAMP,而其中P指的是PHP,我其實對這兩種語言都很熟悉。”
Python與PHP之間的差異
在鬼庸看來Python是一款擁有健全基礎的優秀工具;而相比之下PHP在基礎方面則很不健全甚至干脆談不上什么基礎,這就注定了其不怎么好用的命運??梢哉f再多的補丁也沒法徹底解決PHP的問題,它從根本層面上已經不可救藥了。其實大家可以把Python和PHP間的區別與git跟svn聯系起來,這兩對冤家的情況非常類似:git與svn都能達到我們的預期目的,但毫無疑問git在架構方面具有明顯的壓倒性優勢。
也許有人會以Facebook以及維基百科作為反例,但情況恰恰相反:表面上來看,二者的創建方式似乎證明在沒有選擇的情況下,使用PHP同樣能夠打造出精彩絕倫的產品。但很顯然,如果Facebook或者維基百科的工程師們有重新編寫代碼庫的機會的話,他們肯定會毫不猶豫地投向Python的懷抱。因此,在我看到很多中國的新興企業使用PHP開發產品時,總會感到一種莫名的傷感——這絕對是個悲劇性的錯誤。如果大家仍然對我的觀點有所懷疑,那么不妨想想看近期推出的新產品中有哪一款使用了PHP:Quora?Github?Path又或者Instagram?現實告訴我們,沒人再用PHP了。
我還聽到這樣一種論調,有人認為PHP的開發人員群體比Python更龐大(同樣也比Ruby和node.js更大),因此在招聘人才時也會輕松得多。這其實根本不是問題:既然大家希望能夠吸納優秀的開發人員為自己服務,那么所謂優秀就是要能快速從一種開發方式轉移到另一種。Python無論在學習還是使用方面都比PHP容易得多,我在法國的一位好朋友就利用某個百無聊賴的暴雨周末教會了自己的小孩用Python……
做開發需要挑選一件趁手的兵器
當大家只懂得使用PHP時,當然會以PHP的方式構思自己的解決方案,并順理成章地認為PHP是解決一切需求的***方案。但隨著掌握的語言越來越多,我們會發現自己的思維方式在不斷擴展,并能夠在面對某些問題時擁有更多更有競爭力的解決辦法。
如果大家奉行的處世哲學是“不談意義、只求結果”,那么Windows系統中的記事本功能可能常常會作為各位編輯文件的***方式,對吧?當然,用記事本編輯文件倒也不是不行,不過這么干真的既不專業、也不實用。我跟自己的大多數同事一樣用Vim解決這類問題,而且我也沒聽說過哪位專業開發人員會樂于通過記事本搞定一切。這在選擇編程語言方面同樣說得通:一位優秀的開發人員必須擁有應對多種語言的能力,就算是相對較差的語言也需要掌握。但如果他真的熱愛工作、樂于提升自己的技能水平進而寫出更令人滿意的代碼,那么我真的無法想象他會認為每種語言在實際應用中的表現都差不多。有些好、有些差,這就是現實。
除此之外,讓自己擁有不同于其他競爭對手的特色也是十分必要的。也就是說,如果大家都在用PHP或者.NET,那么我們不妨早點開始學習Haskell、node.js或者Python,即使從目前看來這些技能對我們的職業規劃還沒啥具體影響。在豆瓣工作的這段時間我非常快樂,因為我身邊的同事都具有強烈的進取精神。這種精神的實際表現就在于他們喜歡嘗試不同類型的事物,希望在更多選擇中找出***方案。這樣的積極氣氛非常難得,我感到樂在其中。