Python是編程的未來嗎?
1989年12月,荷蘭的計算機科學(xué)家Guido van Rossum給自己創(chuàng)立了一個圣誕項目。厭倦了其它語言的缺點,他決定自己創(chuàng)造一種編程語言。他創(chuàng)造這種語言的原則很簡單。首先,易讀性強。與其程序行位雜亂無章或者由一對大括號搞得代碼糾纏,Guido決定使用空格縮進來分割語句塊。其次,它應(yīng)該讓用戶創(chuàng)建自己的專用編碼模塊包,然后這些模塊可以被其他人用來形成新程序的基礎(chǔ)。然后,這種開發(fā)語言需要一個“短小、獨特、有點兒神秘感” 的名字。因此,他將這種語言叫“Monty Python”,一個英國喜劇組合。程序模塊倉庫被稱之為“奶酪店”。
Van Rossum的圣誕項目近30年后,他模仿了一個Monty Python的技術(shù)形象,類似電影《Life of Brain》里面的彌賽亞。Van Rossum解釋說:“我當然沒有打算創(chuàng)造一種旨在大規(guī)模消費的語言。”但是,在過去的12個月里,美國的Google用戶搜索Python的數(shù)量遠遠大于搜索電視明星卡戴珊的。Python語言的查詢率自2010以來增長了三倍,而與此同時其他編程語言的查詢已趨于平緩或下降。
Python語言的流行不僅在專業(yè)開發(fā)者中增長。根據(jù)編程論壇Stack Overflow統(tǒng)計,近40%的人使用它,還有25%的人希望這樣使用Python。但也與普通人。一個教了4500名新手如何使用各種語言的網(wǎng)站CodeCademy表明,目前需求增長最大的是那些希望學(xué)習Python的人。因此,Python代碼讓那些無從下手的人觸手可及。Python粉絲們自稱Pythonistas,他們在“奶酪店”增加了145000多個程序包,涵蓋了從天文學(xué)到游戲開發(fā)的一切。
Van Rossum盡管對他的軟件充滿了激情,但是作為“終生好心腸的獨裁者”,他發(fā)現(xiàn)嚴格的監(jiān)督變得原來越難以忍受。他害怕自己變成偶像。“我為名聲所累”他說的時候很像驅(qū)趕眾多信徒的Brain。“有時候我覺得我所說的或做的每件事都被看作是一股強大的力量。” 7月12日,他辭職了,讓Python粉絲們自我管理。
沒人期待時尚的統(tǒng)計學(xué)家
Python并不完美。其它語言具有更高的處理效率和專業(yè)能力。C和C++是底層語言,它們給與用戶更多控制計算機處理器的機會。Java是用于構(gòu)建大型復(fù)雜應(yīng)用程序的流行工具。JavaScript是通過Web瀏覽器訪問的應(yīng)用程序的首選語言。無數(shù)種開發(fā)語言為了不同的目的而進化。但是Python的殺手級特性:具有簡單的語法,使其代碼易于學(xué)習和共享,它的大量第三方包使它成為一種良好的通用語言。它的多樣性體現(xiàn)在它的用戶范圍和用途上。美國中央情報局已將Python用于黑客,皮克斯用Python制作電影,谷歌用Python爬行網(wǎng)頁,Spotify用Python推薦歌曲。
在“奶酪店”,最新引人的Python包是一些控制AI(Artificial Intelligence)的。用戶可以創(chuàng)建模仿大腦中的連接的神經(jīng)網(wǎng)絡(luò),以選擇大量數(shù)據(jù)的模式。Van Rossum說,Python已經(jīng)成為AI研究人員的首選語言,他們已經(jīng)為它生產(chǎn)了許多軟件包。
并非所有的Python粉絲都雄心勃勃,Codecademy的老板Zach Sims,相信很多訪問者都試圖獲取技能,這些技能可以幫助他們在傳統(tǒng)上被視為“非技術(shù)性”的工作。例如:營銷人員可以使用語言來建立統(tǒng)計模型,衡量活動的有效性。大學(xué)講師可以檢查他們是否正確地分配等級。(甚至《經(jīng)濟學(xué)家》報的記者們,通常也使用Python來爬去網(wǎng)頁上的數(shù)據(jù)。)
對于長期依賴于電子表格的專業(yè)人員來說,Python特別有價值。美國花旗銀行集團,為實習分析師推出了一個Python的速成課程。就業(yè)網(wǎng)站eFinancialCareers報告稱,在2015至2018季度第一季度,Python的市場需求量增長了近四倍。
對這些技能的渴求并非沒有風險。咨詢公司貝恩公司的合伙人Cesar Brea警告說,他交易中最可怕的事情是“一個人學(xué)會了一個工具,卻不知道底層下發(fā)生了什么”。沒有適當?shù)谋O(jiān)督,一個與AI圖書館玩的新手可能會得出一些荒謬的結(jié)論。波士頓咨詢集團的合伙人Bernd Ziegler說,他的公司將這種分析保留給數(shù)據(jù)組的成員。
Russum的通用機器人
解決半受過教育的改進者的一個辦法是在語言的奧秘中恰當?shù)亟逃麄儭ython在2014已經(jīng)是美國大學(xué)最流行的入門語言,但它的教學(xué)一般局限于那些學(xué)習科學(xué)、技術(shù)、工程和數(shù)學(xué)的人。一個更激進的建議是通過向所有人包括小學(xué)提供計算機科學(xué)來吸引他們。慈善機構(gòu)Cord.Org的老板Hadi Partovi指出,40%的美國學(xué)校現(xiàn)在提供這樣的課程,高于2013的10%。大約10到12歲的三分之二的人在Orthor.org網(wǎng)站上有一個賬戶。也許是因為未來充滿了自動化的工作而感到不安,90%的美國父母希望他們的孩子學(xué)習計算機科學(xué)。
Python的崛起還將持續(xù)多久,所有人都在猜測。在過去,有一種占主導(dǎo)地位的計算機語言,雖然不完全是“又強大又好用”,但現(xiàn)在卻隱藏在后臺。在20世紀60年代,F(xiàn)ortran在世界范圍內(nèi)傳播。作為新手的語言教學(xué),Basic和Pascal都有過其輝煌的時刻。Partovi先生自己也選擇JavaScript作為Code.org核心教學(xué)大綱的語言,因為它仍然是動畫網(wǎng)頁的標準選擇。
任何計算語言都不可能僅僅是以通用為目的。專業(yè)化仍然很重要。然而,確實,在過去的圣誕潮中,Van Rossum先生的確創(chuàng)造了一些值得紀念的東西。他不是彌賽亞,但他是一個非常聰明的人。
譯者介紹:
ArthurGuo 職場老司機。21世紀初開始擁抱開源,后轉(zhuǎn)型項目管理。現(xiàn)在一創(chuàng)業(yè)云公司擔任PMO。掌握多門計算機語言,但更擅長人類語言。愛玩文字,不喜毒舌。