文章出處

 

從讀博士起,我對編程的興趣忽然濃厚起來。當時做大規模并行運算,需要自己寫很多程序和腳本。作為新進研究組的新人,我自覺負擔起很多寫程序的活兒。寫得多了,興趣也變得濃厚。


那個時候抓緊一切機會學習編程。在我讀博的研究所里,有一位英國教授也喜歡編程。她叫愛瑪·希爾(Emma Hill),教我們用編程語言處理地球科學的數據。有一天,我路過她的辦公室。她問我最近的學習進度。

“準備學Perl呢。”我回答說,“感覺Perl在地理領域應用很廣。”

“你為什么不學學Python呢?”愛瑪問我,“這門語言發展很快。你學會了或許可以教教我。”


我之前聽過Python的一些傳聞,比如那句著名的“人生苦短,我用Python”。但我擔心Python在地球科學研究方面不如Perl積累深厚。有了愛瑪的鼓勵,我下定決心去研究Python。Python學起來確實很快。沒過多久,我就可以用Python來解決我在科研中遇到的大部分問題了。記憶比較深刻的是,有一次下載來自美國研究所的一批氣象數據。我用Python中的多線程并發下載,創造了大學中網絡傳輸的紀錄。學習加實踐,讓我愛上了這門語言。


隨后,我開始在博客園寫一系列博客,記錄自己學習Python的過程。這一系列的文章叫“Python快速教程”。我想在這些文章中呈現出Python簡單易學的特點,以便讓更多的人也來享受編程的樂趣。在寫作過程中我意識到,要想講明白一門編程語言,還要引入額外的背景知識。我的編程博客也從Python開始,拓展到網絡協議、操作系統、算法、數據分析等方面。寫的時間越長,收獲的讀者也越來越多。博客園的一位運營告訴我,有一段時間我的博客訪問量保持在全站的前三。我的一位大學同學告訴我,他不但讀了我的博客學Python,還成功在硅谷找到Python相關的工作。還有一次朋友向我推薦Python教程,才發現居然就是我寫的這一份。所有這些都讓我感到驚喜。因此,我非常感謝愛瑪給我推開的這扇門。


完成博士學業之后,我需要在科研和編程之間選擇。由于編程帶給我的美好體驗,我毫不猶豫地選擇了編程。將近三十歲的我,和二十出頭的年輕人一起做產品、調試、debug。我必須要非常努力,才能趕上這群富有天賦而精力旺盛的年輕人。但我并不覺得辛苦。辛苦是學習的臺階。在編程中,我享受著腦細胞的瘋狂激活,享受著未知錯誤的折磨,以及苦苦思索之后的豁然開朗。更棒的是,我的伙伴總是以樂觀的態度來看待技術,以享受的心態來享受編程。我從中受益良多。更何況,計算機浪潮已經并將繼續改變世界。我很幸運,能加入浪潮中。


“Python快速教程”得到了不少編輯的認可。他們希望我能把博客文章改編成一本書。寫書當然是莫大的榮幸,我很感謝每一位編輯的賞識。可在博士學業的壓力下,我能抽出的時間實在有限。所以多次的出版計劃都擱淺在擬定目錄這一步。終于拖到博士畢業,我才開始認真整理之前的文章。把略顯凌亂的博客文章改編成書,工作量比我想象的要大得多。在此期間,我也開始了一個新的項目,研發一款用于畜牧的智能芯片。生活的節奏又變得忙碌,能分給寫書的時間大大減少。

 

這本書的最終誕生,有賴于許多人的支持。安娜是一位非常寬容的編輯。從簽合約到完稿,我拖延了超過半年的時間。幸好安娜對我的拖延癥格外包容。我在一個寫作小組認識本書的插畫師雷雨田。她繪制的精美插畫,讓枯燥的技術書變得生動有趣。在寫作博客的過程中,很多人都指正過文章中的錯誤,或者對寫作方向提出建議。我還有一個小小的編程討論組。小組里的朋友,如王豪、周昕梓和黃杜立,都花時間審閱文章。正是因為他們的審閱,我才能放心的交稿。

 

即便有這么多人幫助,寫完一本書不太容易。油墨印刷成字,還是很嚴肅的一個過程。即使是完稿之后,我還是重新過了三四遍稿子,改動了不少的地方。比如說,我在寫對象名時,會習慣性地按照Java的代碼規范寫成thisObject,而不是PEP8規定的this_object。在我認為,thisObject這樣的寫法更容易讓對象和函數區分開。我當然可以這么做,PEP8只是指導性的代碼規范,而不是強制要求。但我又擔心自己會誤導讀者。畢竟,代碼不止是寫給自己讀的。如果用我的書寫形式寫成Python庫,那么其他遵照PEP8的程序員在調用時會不會覺得奇怪?

 

反反復復思索了很久,直到有一天想到Python誕生時遵循的一個理念:

“如果常識上確立的東西,就可以遵照常識,沒有必要過度糾結。”

于是,我選擇了服從PEP8的代碼規范,把書中的代碼訂正了一遍。

 

你瞧,Python的理念已經開始在指導我。Python吸引我的,正是這樣一些旗幟鮮明的理念。在我現在的工作中,Python依然占據著重要的地位。我會用Python進行網站開發和大數據分析,還會用Python來寫一些在單片機上運行的腳本。當然,我也離不開其他語言,比如處理數據庫的SQL、編寫安卓App的Java、網頁前端的JavaScript等。但Python讓我愛上編程。我也希望,這本書能讓讀者也愛上Python,并且繼續像我的博客文章一樣, 能幫助到那些想學習編程的人。在此存一個美好心愿。

 

文章改編自《從Python開始學編程》的前言部分。

 

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()