C語言之父Dennis Ritchie告訴你:如何成為世界上最好的程式設計師?

網易雲信發表於2018-11-29
譯/網易雲信
想要閱讀更多技術乾貨文章,歡迎關注網易雲信部落格
瞭解網易雲信,來自網易核心架構的通訊與視訊雲服務。


我不知道如何成為世界上最好的程式設計師。但是,我們可以向歷史上最偉大的程式設計師學習。該系列文章將會向大家分享C語言的創造者、Unix作業系統的關鍵開發者Dennis Ritchie、。Linux核心的發明人Linus Torvalds的經歷與建議。
UNIX基本上是一個簡單的作業系統,但你必須是一個瞭解“簡單”的天才--Dennis Ritchie
獲得計算機程式設計學位的前幾天,Dennis Ritchie獲得了在麻省理工學院(麻省理工學院)工作的機會。
計算機實驗室不像現在這樣挑剔,並且幾乎歡迎任何有耐心幫助他們在房間大小的計算機上工作的人。
對於最初是行業局外人的人來說,建立UNIX和C語言 - 計算機歷史上最廣泛使用的兩種技術 - 是一件大事。非常重要的大事。
C語言之父Dennis Ritchie告訴你:如何成為世界上最好的程式設計師?
以下是Dennis Ritchie的一些成就:
1. Dennis Ritchie建立了C語言,並與他的好友Ken Thompson共同建立了UNIX作業系統。
2. 1983年,他獲得了計算機協會(ACM)頒發的圖靈獎。
3. 1990年,Ritchie和Thompson都獲得了電氣和電子工程師協會(IEEE)頒發的IEEE Richard W. Hamming獎章。
4. 1997年,他成為計算機歷史博物館的成員
5. 他於1999年獲得克林頓總統頒發的國家技術獎章


那麼他是獲得這些成就的呢?更重要的是,Dennis Ritchie是如何學會編寫軟體的?
丹尼斯·裡奇(Dennis Ritchie) - 被稱為“C程式語言之父” - 被認為是一個體貼,善良,謙遜的人 - 而且是一個完全極客!
但他並不是一個極客。
裡奇出生於紐約,在新澤西州的花園城市長大。他有一個穩定的童年,並在學業上做得很好。
他在哈佛大學繼續他的學業,在那裡他學習科學並取得他的物理學學士學位。
那麼計算機什麼時候進入裡奇的生活?

要點1:如果你想成為擅長編寫出色軟體的人,你需要時刻保持好奇心。

我既不聰明也不特別有天賦。我只是非常非常好奇 - 愛因斯坦
好奇心激發了人們對知識的渴求。知識,統治世界。
在裡奇還是一個學生的時候,他不知怎麼去聽了一個關於UNIVAC的講座。
該UNIVAC I(通用自動計算機I)是在美國生產的第一款商用計算機。
下面是它的樣子:
C語言之父Dennis Ritchie告訴你:如何成為世界上最好的程式設計師?
說真的,什麼樣的好奇心讓一個人坐下來並且真正享受關於UNIVAC如何運作的講座?
顯然,這是一個偉大的程式設計師。
在那次遭遇之後,Ritchie繼續研究計算機是如何工作的。
好奇心殺死了貓。我們都知道,但你不是貓。

要點2:建立更多的專案,瞭解更多的業務。

我沒有專注於特定專案,而是希望能成為擁有豐富經驗和想法的人。所以我開始從事各種專案去了解我的職業生涯。“ - 丹尼斯里奇
讓建立很多專案成為你好奇心的產物。將好奇心轉化為構建不同的專案 - 和Ritchie一樣,這將有助於您瞭解自己的職業。

要點3:和你認為更專業,更有經驗的人待在一起。

你之所以應該這麼做,最明顯的原因是,你的學習速度會快得多,並且對你目前的知識不會太滿意。
這是另外一件Dennis Ritchie據說做的很好的事情。
如果你不能親近那些你認為更好,更有經驗的人,那麼網際網路就是你的朋友。
在您感覺舒適的頻道上關注他們。閱讀他們的博文。觀看他們的YouTube視訊。收聽他們的播客。
和“他們”待在一起。

第4點:解決問題。

“這不是真正有趣的程式設計。但這是你可以用最重要的結果來獲得的東西。“ - Dennis Ritchie
丹尼斯·裡奇(Dennis Ritchie)生活在一個電腦填滿房間的時代。但是Ritchie知道小型計算機正在被開發中,並且他們沒有易於使用的作業系統,所以他開始來構建一個。
這就是裡奇對通用程式設計的看法,它與可實現的目標相關。作業系統的問題被解決了,並且對後代有深遠的影響。
如果問題困擾你,請不要忽視它。如果您認為它被許多人忽視,請解決它。
感到好奇。研究概念。請求幫助。
在解決問題之前,你不應該回頭看。
當事情足夠重要的時候,即使希望不大,你也會這樣做--Elon Musk。

這裡有些例子 :

1. Electron JS,讓Javascript構建桌面應用程式的技術變得生動起來,因為Github團隊想要使用Web技術構建一個可破解的編輯器。
2. Redux是Javascript應用程式的可預測狀態容器,由Dan Abramov構建,因為他想建立一個具有最小API但完全可預測行為的狀態管理庫 - 這就是他所說的方式。
3. Quincy Larson和其他幾個人構建了Freecodecamp平臺,以解決在開源社群中教授Web技術的問題。
他們看到了一個問題,然後繼續解決它。

C語言之父Dennis Ritchie的關鍵要點

1. 保持好奇,並繼續燃燒求知的火焰。我們永遠不會無所不知。
2. 瞭解基本原理。掌握基礎知識,才是真正的技能大師。
3. 解決問題。如果您認為某些事情可以採取不同的方式,並且應該被完成,那就去做吧。你將能夠更快,更好地生活。
4. 建立許多不同的專案。
5. 和擁有更多專業知識,經驗和想法的人待在一起。這是無價之寶,你無法與其他事情交換。


相關文章