一定要學程式嗎?van Rossum 發明 Python 30 年後,說出了他的心裡話:未必

【為什麼我們要挑選這篇文章】現在資訊科技當道,寫程式成為基本技能,但真的每個人都得要會寫程式嗎?

Python 之父 Guido van Rossum 開發 Python 的初衷,就是將寫程式簡單化,讓人容易上手,並「讓每個人都會寫程式」。30 年過去,現在 van Rossum 則認為,「電腦只有有用的東西,並非每個人都要知道裡面發生了什麼」,也就是說,可以學程式,但不想學也沒關係。那你覺得大家都應該要會寫程式嗎?(責任編輯:郭家宏)

21 世紀是寫程式的時代,幾乎人類所做的一切,只要跟網路沾點邊,都可能涉及到寫程式,後台程式跑出的結果,透過大大小小的螢幕呈現在我們面前,人們已經覺得這是理所當然的。

於是有的人就認為,在不遠的未來,寫程式是人人必備的技能。今年 11 月 15 日,年過半百的 SOHO 中國董事長潘石屹在微博上宣佈,正式開始學習 Python。

但是世界上有 99.7% 的人不會寫程式,如果你屬於其中一個,那麼你大概會覺得程式就像魔法一樣,正如一位科幻小說作家寫道:「任何足夠先進的技術看起來都像是魔法。」

當然,程式並非魔法,然而,它既難懂又複雜,現在科技公司的程式碼基數以百萬行作為單位,無論你在手機上想實現什麼功能,工程師第一個想到的就是,這個程式該怎麼寫?學會寫程式在這個社會似乎已經如此重要,以至於兒童程式訓練都已經成了培訓機構趨之若鶩的新「藍海」。

但是四、五歲的小孩真的有必要學程式嗎?或者說你已經工作了大半輩子、年過半百了,還有必要像潘石屹一樣去學 Python 嗎?

Python 之父 Guido van Rossum 最近接受了一次訪談,在訪談中他表示:「並非每個人都需要知道(電腦)裡面發生了什麼。」

Python 的初衷:將程式化繁為簡

我們可以回顧一下 Python 的誕生,Python 是以蒙提.派森(Monty Python)的超現實喜劇片命名的,20 世紀 80 年代末,Guido van Rossum 為荷蘭國家數學和電腦科學研究中心 Centrum Wiskunde&Informatica(CWI)開發分散式系統。因為當時的程式語言存在缺陷,他決定創造一種新的語言:一種更易於使用又功能強大的語言。

關於 Python 的誕生故事,TO 的相關文章:
【Python 的誕生故事】覺得其他程式語言不好用,超狂荷蘭工程師花三個月打造自己的程式語言

「我的初衷就想著,好吧,為什麼我不開發一種自己的語言,我可以利用現有的 ABC 語言,但將開發規模從需要三年完成的大專案縮小到自己可以在三個月內完成的小專案,於是 Python 誕生了。」van Rossum 說到。

讓程式化繁為簡是 Python 背後哲學的核心,Python 是一個直譯語言而不是編譯語言,這意味著工程師可以立即得到他們正在編寫的程式碼的回饋,而不需要在每次修改後花時間重新編譯它。

Python 是如此的簡潔,以至於 van Rossum 說:「在 Python 中,你鍵入的每個符號都是必需的。」

儘管 JavaScript 在全球 25 億部 Android 手機上運行著,但是對於通用程式和教育,Python 已經成為默認標準。

「在 Python 中,有一大堆常見的程式任務是很容易的,」van Rossum 說。「對於那些還不是工程師的人來說,想成為一名工程師,Python 這樣的語言可以讓他們更容易達成目標。」事實上,許多院校的電腦科學專業正在從 Java 轉向 Python,因為對初學者來說,掌握 Python 要容易得多。

Python 之父:讓每個人都會寫程式

在發明 Python 前後很長一段時間裡,Guido van Rossum 堅持的想法是要讓每個人都會寫程式,所以他要將語言設計的更加簡潔和易懂。

這也是 Guido van Rossum 發明 Python 的出發點之一,將工程師的時間成本在語言中進行考慮,這使得 Python 在傳播的過程中流露出一種社會哲學。

van Rossum 在和別人談論 Python 時非常支持一個觀點,那就是多花一點時間,讓你的程式碼在將來更容易被別人理解。

通過高品質的工作來表達你對他人和他們時間的尊重,這是 van Rossum 默默地在世界上傳播的一種精神。「你編寫程式主要是為了與其他工程師交流,在一定程度上,也是為了將你的意志強加給電腦。」他說。

van Rossum 在 20 年前發起了一個短暫的專案:CP4E(Computer Programming for Everybody,每個人的電腦編程),如今這個目標伴隨著 Python 的傳播,產生的效果已經幾乎達到了。

「我通常不是一個非常有遠見的思想家,人們總是問我,Python 的下一步是什麼,我從來不知道,但我那時候似乎戴上了最有遠見的帽子:認為每個人都應該學習寫程式。」個人電腦已經存在了 20 年,但它們大多數只是被當成美化了的打字機和計算機。

van Rossum 問道:「這些人都有電腦,卻很少有人學習寫程式,這難道不瘋狂嗎?」

從那以後,他一直致力於透過 Python 的改進,使寫程式更容易學習和更容易上手,現在是 3.7 版本,Python 也成為了世界上最流行和使用人數最多的幾種程式語言之一。

電腦只有有用的東西,並非每個人都要知道裡面發生了什麼

儘管 van Rossum 仍然認為寫程式是非常有價值的技能,例如解決問題、遵循目標的方向、理解方向的含義等等,但是他也發現,「有些程式入門對孩子們來說很有趣,但並不是所有的孩子都覺得有趣,我不認為應該把它作為課程的必修部分。」

與此同時,由於軟體的發展,尤其是網路軟體的發展,人們對寫程式的需求也減少了,這些軟體可以讓你直觀地完成過去需要寫程式才能完成的工作。

「我不太確定這個專案是否還需要繼續了,」van Rossum 在談到 CP4E 時說,「我認為電腦現在已經做到了這一點,電腦只是有用的東西,不是每個人都需要知道裡面發生了什麼。」

Python 成為業餘人員的最愛,也是新手學程式的好選擇

儘管 van Rossum 已經放棄了 CP4E 這個專案,但是 Python 本身正在為很多非專業程式人員提供了寫程式的機會。

越來越多的人在各種領域使用 Python,van Rossum 說:「目前關於 Python 意外成功的流行理論認為,在某種程度上,Python 已經進入了數據科學、機器學習和一般的科學數據處理領域,對每個人來說,像他們的同事和競爭對手一樣使用相同的語言而不是嘗試不同的東西,會顯得相對容易一些。」儘管一開始它只是專業工程師的工具,van Rossum 說,「Python 現在也是業餘愛好者的語言,我的意思是這也是最好的方式。」

一個成功的開源軟體專案,比如 Python,對於初學者來說必須易於學習,這個 Python 做到了;但是對於更高級的用戶,想解決的現實世界的問題,也必須有實際的應用。

對於初學者來說,都希望事情簡單,所以他們所有的大腦都用來學習程式環境的複雜性,而對於高級用戶來說,他們更需要能幫助他們應付一些相互聯繫的抽象功能的複雜性。

「如果你用 Python 編寫一個原型,然後讓它工作,通常這不是很難的事情,」van Rossum 說,「然後你可以扔掉第一次寫的程式,根據你所學到的東西再寫一次同樣的東西,你仍然可以用 Python 編寫,但第二個版本會比第一個版本好得多。」

因此,Python 長久的吸引力還來自於這可以從頭開始的樂觀。「如果你在編寫和調試程式碼方面投入了更多的時間,那麼你就不會那麼敢於拋棄一切重新開始。」van Rossum 說。

從剛開始想讓每個人都學會寫程式,到後來認識到並非所有人都要學程式,van Rossum 自己也沒預料到 Python 最終卻成為了業餘愛好者的最愛,也就是說,既不是人人都會,也不拒人於千里之外,對不想學的人來說,當然可以不學,而對於想嘗試的人來說,用 Python 入門則再好不過。

在訪談最後提及他的 30 年 Python 之旅的感悟,van Rossum 也表示:「你不會總是得到你最初所追求的結果,但也許你得到的結果是一樣好的、甚至更好。」

(本文經合作夥伴 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈潘石屹也要学编程了?Python 之父:并非人人都需要了解计算机发生了什么 〉。首圖來源:Needpix.com CC Licensed)

更多關於寫程式的心法

【內附影片、程式碼】微軟工程大師開課啦!用 44 個短片讓你速成 Python 技能
只會用 Excel 還不夠!七大主題,教你如何用 Python 優化數據分析效能
工程師好用資源來了!超完整 Python 查詢表,程式碼複製貼上不用自己寫


IT x OT 資安攻防戰!

工廠轉型最常碰到的「系統整合難題」怎麼迎刃而解?

馬上破解

 

點關鍵字看更多相關文章: