程式設計師應該學開車

2021-04-20 04:19:39 字數 1364 閱讀 3393

說實在的,過去從來也沒有想到這輩子還會學會開車。沒學會開車之前,有時做夢開車,只不過更像開飛機。現在學會開車了,結果經常做夢找不到車,或者找不到地方停車。:)

閒話少說,這會兒想說說開車和程式設計之間的關係。用我外公(抗戰前就開車了,開了50年了)說:開車很簡單,兩分鐘就能學會。但是要開好車,則需要一輩子。

幾年前我學了開車,儘管不是兩分鐘就學會,但在同組的幾個人中,學的是最快的(如果再早十年,就更快了,年紀小學東西快)。開車實際上是乙個頗為複雜的併發操作,剛開始的時候總是讓人手忙腳亂的(挨師傅罵,是非常正常的事)。

舉個例子,開車到乙個路口,打算右轉彎。首先開方向燈,然後減速。但是不能隨隨便便地馬上就能打把轉向了。作為駕駛員,保證行人和自行車的安全是非常重要 的。於是,在打把之前,先得從右反光鏡裡觀察右側的非機動車。同時眼睛還要掃視車頭右側的人和自行車。在右前方沒有阻擋的情況下,開始轉彎。但這還沒完, 因為減速,必須換檔。如果垂直方向的道路是綠燈,那麼還必須注意避讓那個方向的車和人。還有乙個小麻煩,駕駛室左前方的擋風玻璃立柱往往會影響視線,形成 盲區。有經驗的駕駛員會不停地前後搖動頭部,以避開立柱的遮擋。

綜合起來講,當你駕車在乙個繁忙的十字路口右轉的時候,往往是:左腳踩著離合器,右腳帶著剎車,左手打方向,右手抓著排擋,頭不停地轉動,或前後搖動,視 線在右反光鏡、車右側和右前方、正前方、左前方這幾個方位間不斷地掃視。腦子當然不能閒著,高速運轉,尋找車流和**中的空隙,以便快速穿入。此時的司 機,就像一台跑著多執行緒的筆記本。

通常,人腦乙個時刻只能處理一項任務。因此,我們初學的時候,基本上會把車開得七歪八扭。但隨著練習時間的增加,這些動作慢慢地會融入我們的潛意識,漸漸地成為反射性的動作。於是,我們便學會了併發地開車。

當乙個程式設計師程式設計的時候,有很多與開車相似的地方。比如我們編寫乙個程式,在乙個視窗中繪製一些曲線圖,我們實際上需要同時處理很多方面的問題。首先,我 們得對付語法,盡可能地回想起語法要點,以便編寫出有用的**。然後,我們必須呼叫系統服務,我們必須回憶起每個引數的型別、次序和含義。並且需要明確每 個引數和返回的約定。必要時還得對某些異常作出必要的處理。我們要盡可能多地回憶起預定義的常量、列舉或巨集。我們還要竭力避免破壞**的軟體工程性,盡可 能做到dry。為了實現程式,我們還必須明確圖形構建的演算法,以及色彩線條的設定。最重要的,還要盡力避免編寫引發錯誤的**。

在很多情況下,我們幾乎同時處理著這些問題,時常讓腦子超負荷。這也就是編軟體累人的地方。

我們通過程式設計練習和開發活動不斷地操練這些工作,最後就像開車那樣把程式設計的基本技巧作為本能儲存在大腦中,在未來的開發活動中使我們駕輕就熟。

至於為什麼程式設計師應該學開車,那就很容易理解了。因為程式設計,還可以把某些不是頂頂要緊的工作放一放,比如dry、錯誤處理等等,先完成功能再說。但開車, 只要疏忽了哪一項,便會引發事故。開車有助於訓練人併發處理問題的能力。對於程式設計師,就更容易處理諸多相互混雜的程式設計要領了。

程式設計師學python 程式設計師學Python

章python基礎1 1.1表示式和計算1 1.1.1數值計算1 1.1.2標準函式和數學函式包5 1.1.3字串7 1.2變數和賦值10 1.2.1名字 變數和賦值10 1.2.2簡單指令碼程式12 章python基礎1 1.1表示式和計算1 1.1.1數值計算1 1.1.2標準函式和數學函式包5...

程式設計師應該讀的書

第1名 1306票 code complete 2nd ed by steve mcconnell 中文版 大全 第二版 第2名 1161票 the pragmatic programmer 中文版 程式設計師修煉之道 第3名 689票 structure and interpretation of...

程式設計師應該讀的書

第1名 1306票 code complete 2nd ed by steve mcconnell 中文版 大全 第二版 第2名 1161票 the pragmatic programmer 中文版 程式設計師修煉之道 第3名 689票 structure and interpretation of...