2008 年,“編程”一詞還帶有很多負面含義。大部分人認為程序員是住在小隔間裡的“薪奴”,每天 8 小時盯著屏幕,艱苦地制作著令人費解的文章。那麼,以編程為愛好的人是什麼樣子呢?應該是沉迷於《龍與地下城》、胡子拉碴的極客們吧。今天,如果仍沿用以前的認知,那就大錯特錯了,編程(編碼、設計,或者你想用的任何詞)已經變得很酷。人們認識到,它並不是一種“魔法”,不是常人完全無法理解的東西。小孩子們在編程,家庭主婦們在編程,退休老人也在編程—這是一項迷人的工作。程序員驕傲地談論自己的職業或者愛好,而不再怕被人貼上“極客”的標簽。但是,為什麼會有這樣的變化,是什麼促使人們的觀念有了如此大的轉變?這裡有 3 個關鍵因素。首先,一些政府機構開始意識到編程在教育中的重要性。在 20 世紀 80 年代和 90 年代初,本書作者還在英國上學時,當時計算機編程完全是選修課,很少有孩子選擇它(如前所述,選擇計算機編程的孩子立刻就被貼上“極客”的標簽)。今天,英國政府鼓勵孩子們盡早學習編程並正確認識編程,消除了與之相關的負面信息。課外編程俱樂部已經獲得了巨大成功。
這就引出了編程越來越受歡迎的第二個原因:人們意識到這門學科傳授的是寶貴的實用技能。當你學習編程時,學到的不僅是一堆古怪的單詞和符號,你將學會更富有邏輯地思考問題,區分不同事物並合理進行分解,積極尋找解決問題的新方法。這樣學習編程的同時,你還能更有效地處理許多日常的難題。最後,一種信用卡大小的計算機(樹莓派)為編程的流行起到了驚人的作用。樹莓派在全球已經售出數百萬套,它們可用於形形色色的任務,也特別適合於學習編程。這種計算機便宜、簡單,可以接入電視,並自帶現成的Python 編程語言——這也是本書的主題。
是什麼讓 Python 如此特別?為什麼在編程語言如此多樣的情況下,我們要選擇它作為本書的主題?簡而言之,Python 包羅萬像。和那些看上去神秘甚至可怕的語言相比,Python 的代碼更容易理解,近似於自然語言。如果你以前嘗試過編程,受阻於一些語言使用的古怪符號和結構,那麼在這裡你就會覺得輕松多了。與此同時,Python 並不是僅適合於入門開發者的語言。它已經發展了數十年,經過不斷精煉和改進,得到了大量實際應用的支持。Python 可用於各種任務,從分類文本文件的小腳本到大的圖形應用程序均可滿足。雖然這種語言的核心很簡單,但是通過使用許多附加模塊可以寫出更通用、強大的程序,我們將在本書的最後幾個章節進行介紹。在編程學習中,很好的一件事是編程中真正與具體語言相關的東西很少。當然,不同的編程語言有不同的特點和方法,但是最終它們都是要告訴 CPU——計算機的中央處理器—該做什麼。你在通讀本書,成為高效、博學的 Python 能手之後,就能輕松地應對其他語言——學習其他編程語言也確實是成為更好的程序員的絕佳途徑。