《原始碼》:500個小時,把興趣熬成技能

文 | 有書君 · 主播 | 安東尼

各位親愛的書友,大家好,我是安東尼。
今天,我們繼續共讀比爾·蓋茨的自傳《原始碼》。
上一節我們講到,蓋茨童年時因為與眾不同,並不被人看好。
可他內心強大,一步步構築自信,挖掘潛能,校正行為,尋找方向。
這種持續自我探索的精神極為可貴,也極大推動了蓋茨的成長。
那麼,這一節,我們就來看看蓋茨是如何與計算機結緣,踏上計算機程式設計之路的
當笨機器遇上倔小孩
當時,社會上新發明的Basic語言,讓蓋茨有了使用計算機的機會。
Basic程式語言能用人類易懂的指令操控計算機,極大降低了非技術領域學習者入門計算機程式設計的門檻。
為了幫學生們使用計算機,校方在機房牆上釘了半頁紙,寫上基本的入門指引,像怎麼登入、出問題按哪些鍵,還嚴肅警告不能輸入某些指令,否則會讓系統失控。
就在這臺終端機上,比爾・蓋茨編出了自己的第一個計算機程式——井字棋遊戲。
這款遊戲規則簡單,小孩都能很快學會,可要是讓機器來,那就得費一番功夫了。
為了讓程式順利執行,蓋茨需要深入思考規則裡最基本的要素,為各種可能出現的情況編寫操作指令,好讓這“笨機器”正常運轉。
這迫使比爾・蓋茨不停地思考,而他恰恰喜歡這點。
計算機對思維上的疏忽毫不留情,它逼著蓋茨保持邏輯的自洽,重視每個細節,一個逗號或分號放錯位置,程式就無法正確執行。
這和解答數學證明題一樣,對解題過程的嚴謹性和邏輯性要求很高,只不過計算機的方式更優雅高效。
面對這個當時最時髦的新興事物,湖濱中學所有的人都為之著迷,一堆學生排著長隊等著玩這臺機器。
他們拿著自己寫的程式輸入計算機,看它能否成功執行,要是失敗了,就得重新排隊,機會稀有又珍貴。
一開始,蓋茨編寫的程式是出錯,他只能堅持不懈,強迫自己開動腦筋,不停改進。
蓋茨很享受這個過程,那種每次都能改進一點的感覺讓他欲罷不能。
得益於他的邏輯思維和長時間專注的能力,編寫程式對他來說得心應手,他在計算機方面的優勢很快就凸顯出來。
幾周後,大部分學生對計算機已經失去了興趣,留在機房的只剩一些鐵桿追隨者,其中就有蓋茨、肯特、保羅和裡克。
這些人在蓋茨程式設計學習的路上至關重要,保羅還是他的創業合夥人,大名鼎鼎的微軟就是他們一起創辦的。
保羅當時15歲,正在讀高二,比蓋茨和肯特大兩歲。
他是個計算機超級發燒友,很早就對計算機感興趣了。
在初中畢業演講中,他就精彩絕倫地描繪了計算機融入社會生活各層面的美好未來,甚至預測用不了幾十年,計算機就能擁有思考能力。
他們總是在一起討論計算機,樂此不疲。
那時,他們天天泡在機房裡,寫程式、測試、失敗、再重來,迴圈往復。
這看起來不務正業,他們的成績也的確一落千丈,可他們確實在快速學習,快速進步,這也是蓋茨在湖濱中學最快樂的時光。
但壞訊息來了,學校支付計時費的錢快被他們花光了,之後該怎麼辦呢?
天上掉餡餅,免費送機時
轉機很快出現。
那時,蓋茨和同學們拼車上學,附近同學的母親輪流開車接送。
有一天,他們在車上跟羅納夫人講了在學校程式設計的事。
巧的是,羅納夫人正投身計算機創業,租了一臺最新型號的PDP-10計算機,想為波音航空等大公司提供計算機服務。
新公司叫計算機中心公司,英文縮寫是三個C
數學迷的蓋茨給它起了個綽號叫“C的立方”。
眼看湖濱中學支付的計時費越來越高,羅納夫人給校長寫了封信,提出了一個驚人的建議:
要是學校裡的小程式設計師們能去她的初創公司幫忙,她願意讓學生們無償使用那臺新型計算機。
那麼,“C的立方”為什麼會提這樣的建議呢?
原來,當時計算機公司主要靠硬體賺錢,像組裝計算機的晶片、磁帶儲存驅動器、處理器,還有各種連線裝置。
相比之下,執行計算機的軟體,也就是現在說的作業系統,只是成交後的附屬品,價格很低,近乎免費贈送。
因為那時軟體效能差,漏洞多,即便客戶買了或租了計算機,軟體也很不穩定,需要反覆除錯後才能適應高強度日常使用。
生產PDP-10的數字裝置公司為改善自家軟體系統,和“C的立方”達成交易,只要這家新公司發現並上報程式錯誤,數字裝置公司就免除其月租費。
“C的立方”把這當成延遲支付使用費的好機會,這才想到僱傭湖濱中學的小程式設計師們。
就這樣,蓋茨他們獲得了免費使用該公司計算機的許可權,可以盡情在計算機上探索,唯一的要求是計算機突然停止執行或表現異常時,他們要及時記錄。
記錄的程式錯誤越多,免費使用的時間就越長。
1968年11月的一個週六,父親開車把蓋茨送到了“C的立方”公司。
在那兒,他見到了肯特、保羅、裡克和湖濱中學高年級的幾個學生,還看到一排長長的電傳打字機終端,和他們在湖濱中學用的一模一樣。
從那以後,“C的立方”辦公室成了他們的第二個家,他們一待就是好幾個小時,編寫程式碼、除錯程式、起草程式錯誤報告。
新的一年開始,他們在“C的立方”的時間從每週六變成每個工作日下午,後來又延續到晚上。
當湖濱中學其他學生在自習、參加體育運動、去教堂或睡覺時,他們在“C的立方”擺弄著一臺昂貴的高效能計算機,而且完全免費。
幸運的是,那一年是西雅圖歷史上降雪最多的冬季之一。
強降雪導致學校停課,他們正好能把這些時間用在“C的立方”。
他們知道這種“免費的午餐”早晚會結束,所以得趁機會消失前,儘可能多地使用這臺計算機,提升自己的技能。
辦法總比困難多
那麼,這麼多的時間,他們都在幹嗎呢?
聽起來厲害,其實也就是盲目試執行這臺效能強大的計算機,看看如果犯了某些愚蠢錯誤,程式會怎樣執行。
畢竟當時的他們,還是一群“菜鳥”畢竟那,計算機程式設計還是一個非常非常小眾的東西,業內專家屈指可數,大多數還在政府部門做保密專案,還有些在頂尖大學當實驗室負責人。
想要學習,他們就只能自己摸索,蓋茨曾弄到一本薄薄的《程式設計入門》,但遠遠不夠。
他們想向“C的立方”的程式設計師學習,又不好意思開口,於是就想了個“曲線救國”辦法——下班後去翻人家的垃圾桶,找用過的計算機紙。
那場面十分滑稽,只見一個人在下面託舉,另一個人鑽進垃圾桶翻找,從滿是一次性塑膠杯和剩飯剩菜的垃圾桶裡,找工程師們當天編寫的程式碼,這些程式碼通常不完整,甚至破損不全。
但有一天晚上,他們發現了一沓厚厚的紙,上面寫滿數字和簡單指令,那是PDP-10作業系統的部分原始碼,這些指令原始碼是不對他們這些小屁孩開放的。
那一刻,他們如獲至寶,歡呼雀躍,這些皺巴巴、沾著咖啡漬的紙張,成了他們見過最令人興奮的東西。
他們一行行反向破解程式碼,弄清楚程式碼的用途。
他們還向“C的立方”程式設計師借了PDP-10計算機的操作指南,晚上趁員工不在時,拼命閱讀、默寫裡面的內容,直到深夜。
隨著這些學習經歷的增加,他們編寫程式碼的能力不斷提升,蓋茨想做些實事的念頭也越來越強烈,他想編寫一個真正能用的程式。
他意識到,掌握了程式設計,自己就是計算機世界的造物主,現實世界裡造橋樑、造火箭這些實現不了的事,在計算機裡都能實現。
總之,有了這臺計算機,蓋茨覺得能創造出任何自己想象的東西。
最後,他把目標鎖定在編寫一個戰爭模擬程式上。
為此,他苦思冥想,收集各種資料,觀看戰爭影片,估算武器和戰術,閱讀軍事歷史著作,讓一切儘可能逼真。
蓋茨對此如痴如醉,晚上他還在想:為什麼要在家浪費時間,這會兒本可以坐在計算機前!
當時已經是晚上十點,他悄悄推開臥室窗戶爬出去,躡手躡腳繞到房子一側,坐公交車來到“C的立方”公司。
這是他第一次晚上偷偷溜出去,在那年冬天和之後幾年,他經常這麼做。
深夜2點,他再坐夜班車回家,要是錯過了末班車,就得步行45分鐘,但他從不覺得辛苦,一路上腦海裡都在重寫程式碼,完全無視周圍的人。
500個小時,從興趣到技能
這段免費使用計算機的時光很不尋常,對他們四個人來說都是如此。
那時,蓋茨和肯特才13歲,保羅和裡克也不過15歲,此前都沒真正操作過計算機。
在“C 的立方”,他們自由摸索學習,把最初的興趣轉化成了實實在在的技能,而他們的老師,是一臺價值50萬美元的機器,這實在太幸運了。
蓋茨見過很多成功人士,他們都說,愛上選定領域後,都在一段時間內艱苦專注地工作,才使最初的興趣逐漸轉化為實實在在的技能。
《異類不一樣的成功啟示錄》一書中提到,不管是作曲還是打網球,都得經過1萬個小時的刻苦練習才能達到高超水平,書中還把比爾・蓋茨列為軟體行業的例子。
比爾・蓋茨認可這個觀點,同時認為,如果沒有那段幸運的免費上機時間,如果沒有那500小時的積累,接下來的9500小時或許根本不會存在。
今天,很多人總愛說“一萬小時定律”,卻常常忽略一個殘酷真相:90%的人都倒在了最初的500小時。
比爾·蓋茨的傳奇,不在於他後來的富可敵國,而在於13歲的他願意傾情付出,為了一個模糊的可能性,和計算機死磕500小時。
這世上從沒有橫空出世的天才,只有咬牙堅持的勇者,這是蓋茨值得我們學習的地方之一。
然而,很快蓋茨他們的好運氣就結束了。
免費使用計算機4個月後,數字裝置公司開始向“C的立方”收取租用計算機的費用,這意味著“C的立方”不再需要他們
與此同時,湖濱中學開始向“C的立方”支付訪問計算機的費用,使用者們也要支付各自的分時賬單。
由儉入奢易,由奢入儉難
享受過免費午餐,哪還能忍受這麼高的上機費呢?
於是,保羅利用發現的漏洞獲取了幾個登入密碼,可還沒享用就被正直的老師舉報,這種歪門邪道的入侵行為,直接導致“C的立方”公司封殺了他們。
可沒了計算機,他們該怎麼辦呢?
讓我們下節繼續來聽。


相關文章