原作者:Anthony Wing Kosner 翻譯/整理:4字節(jié) 基于 CC-BY-NC 協(xié)議 Dropbox 在其 Work in Progress 博客上分享了一篇兩千余字的,,與 Python 發(fā)明人吉多·范羅蘇姆(Guido van Rossum)探討 Python 語言的對話文章: 對21世紀的定義,無非是計算機編程無處不在的影響,。我們所做的任何事,,尤其在工作中,,都能在一塊電腦屏幕上體現(xiàn),,而這其中包含了大量的,我們認為理所當然的運算結(jié)果,。如果你屬于世界上99.7%的非程序員人口,,這一切背后的原理對你來說可能是個迷,就像著名科幻作家亞瑟·C·克拉克說的一樣,,任何高度先進的技術(shù)看上去和魔法都沒區(qū)別,。 當然看上去像魔法但它并不是魔法,不過這其中的原理很復雜,??萍计髽I(yè)的代碼庫以數(shù)百萬行為計,當你在考慮用代碼構(gòu)建一個系統(tǒng)時,,你會反復思考不同功能之間的復雜關(guān)系,,以及代碼的編寫和結(jié)構(gòu)會對系統(tǒng)造成什么影響等,但你需要解決的問題和具有其固有的邏輯復雜性,,不能簡單地就說來“簡化”這個系統(tǒng),。 身為一名程序員重要的并不僅僅是電子,如果你沒有使用代碼來描述你的想法,,你在行業(yè)內(nèi)是不會生存太久的,。Python 之父,也是“終身慈善獨裁者”(BDFL)的 Guido van Rossum 表示:
但如果說有這樣一個人讓將想法和可運行代碼之間的轉(zhuǎn)化變得更容易的話,,這個人非 Guido van Rossum 莫屬,。雖然在現(xiàn)代 JavaScript 仍然稱霸 Web 界,基于 Java 的安卓系統(tǒng)仍然在全球超過25億臺安卓手機上運行,,但除此之外的領(lǐng)域,,Python 似乎已經(jīng)成為了新標準。Guido van Possum 用30年的時間達成了這一成就,,Python 語言以一種安靜低調(diào)的姿態(tài)為所有人降低了計算機編程的復雜性,,使我們的大腦更容易用代碼的方式來思考和管理問題。 要理解 Van Rossum 如何取得這一成就,,我們需要回到大型計算機的時代,。他說大型機在當時花費數(shù)百萬美元,,與計算機的成本相比,程序員的薪水等開銷都不算什么,,這種成本的差異造成了我們在邏輯上將機器的時間優(yōu)于人類的時間,,“但是當我體驗臺式工作站和 PC 時,我意識到對程序員時間成本與計算機時間成本的觀念已經(jīng)過時了”,。他表示自己并非第一個有這個意識的人,,但他在設計 Python 的過程中融入了這種理念。 這種賦予人類高于機器優(yōu)先級的簡單想法是 Python 背后的哲學核心,。當然它是一門解釋性語言而不是一門編譯語言,,這意味著程序員可以立即獲得有關(guān)所編寫代碼的反饋,而無需在每次更改后都花時間重新編譯代碼,。在2019年這個特性非常普遍,,但在30年前它卻充滿爭議,因為傳統(tǒng)觀念認為對于計算機來說速度要越快越好,。這一觀念的轉(zhuǎn)變對于程序員后來的生產(chǎn)力和效率產(chǎn)生了巨大的影響,。 Van Rossum 表示,很多常見的編程任務在 Python 中都可以很輕松完成,,對于那些尚未成為程序員但希望學習編程的人而言,,Python 是非常容易上手的。的確,,很多高校和計算機相關(guān)專業(yè)都正在從 Java 切換到 Python,,因為它對初學者更加友好。這其中具體的原因有很多個,,每一個都各自降低了它的難度,,但簡單來說 Python 的好處在于:一切都應該有一個必要的目標。去除了冗余的代碼使開發(fā)者可以更專注于問題本身,。在 Python 中,,你鍵入的每一個符號都是必不可少的。 這種簡潔使得人們很容易在 Python 中達成自己的目標,。Van Rossum 解釋說:
這種安靜和簡化的語言設計使你更容易看出代碼背后的功能是什么,。Van Rossum 說:
Van Rossum 顯然并不是世界上唯一一個擁有視覺化思維的人,,我們所有人在某種程度上都會,不過他對視覺的認知非常敏感:
Python 的可讀性并不僅僅體現(xiàn)在視覺上,,也體現(xiàn)在概念上。Van Rossum 認為 Python 比其它語言更接近我們對代碼表示的結(jié)構(gòu)的視覺理解,。 作家 Clive Thompson 在寫 CODERS 一書時與大量程序員打過交道,,其中 Python 愛好者幾乎全都表示他們認為 Python 代碼很漂亮,甚至像現(xiàn)代詩一樣優(yōu)雅,。另外一點就是,,Python 寫起來很有趣,而這可能比你想象的更為重要,,畢竟程序員是一個每天的核心任務就是應對無數(shù)次失敗與錯誤的人,。 將程序員的時間放在優(yōu)先地位這一點對于程序員社區(qū)造成了很大的影響,從中還衍生出另一種哲學,,即身為程序員對自己的代碼負責任,。Van Rossum 一直以來都有這樣的理念,認為程序員應該多花一點時間優(yōu)化自己的代碼,,讓它在閱讀上更易于理解和被他人維護,。 Python 所產(chǎn)生的討論度,影響力和使用人數(shù)已經(jīng)達到了20年前 van Rossum 所制定的目標,。他自稱并不是一個很有遠見的思想者,,所以當人們問起“Python 的下一步計劃是什么”時他總是不知所措,不過當他竭力去思考時,,他的愿景是讓每個人都能理解編程:
從這時候起,,他就一直致力于讓編程變得更容易學習?,F(xiàn)在在 Python 進化到了3.7之時,他仍然認為編程通常教授的是一些有價值的技巧,,比如解決問題,,遵循指示或者是指示的含義等,但同時他也意識到編程中的一部分對于孩子來說很有趣——雖然并不是所有的孩子都會被編程所吸引,,他也不希望編程成為小孩需要強制學習的內(nèi)容,。 另外由于軟件行業(yè)的迅速發(fā)展,人們對計算機進行編程的需求也有所減少,,以前需要懂得代碼才能完成的工作現(xiàn)在一個應用就能完成,。Van Rossum 認為計算機已經(jīng)進化到了這種程度,他們對很多人來說都是非常有用的工具,,雖然并不是人人都知道它的工作原理,。 越來越多的人在不同的領(lǐng)域開始使用 Python。Van Rossum 說,,關(guān)于 Python 最出人意料的成功,,也是當下非常流行的理論就是,在前幾年的某個時候,,Python 已經(jīng)確立了自己在數(shù)據(jù)科學和機器學習以及一般科學數(shù)據(jù)處理中的地位,,一旦達到了臨界質(zhì)量,這些領(lǐng)域的從業(yè)者會意識到統(tǒng)一使用一個系統(tǒng)會比每個人都去不停嘗試新系統(tǒng)要容易得多,。 那么我們從 Python 中能夠?qū)W到哪些如何設計更好的思維工具的想法呢,?Python 的最大貢獻者之一 Tim Peters 在 Python 的哲學中提過:
|
|