如何教女朋友一起程式設計
若干年前,在我還是一個小小的軟體開發人員的時候,我就夢想有一個女孩能讓我與之暢談我喜歡的東西。我想和她談論我做了什麼。不是簡單地說我在做與電腦相關的東西,而是能夠更深層次地暢所欲言。就像和同事一起的那種談話。我希望當我發現了什麼令人興奮的新玩意兒的時候,當我興致勃勃地講給她聽的時候,她能理解我。
回想我還在上大學的時候,我也經常將我這個夢想說給朋友聽。我以為他們會和我想的一樣,但讓我吃驚的是,我是這群極客中唯一一個這麼想的人。他們中的每一個人都告訴我,他們不想找一個女程式設計師做女朋友,他們說這會讓他們會發瘋。但我認為他們是在自欺欺人。
他們內心真正的想法是,要找到一個既好看、聰明,又對程式設計感興趣,以及最重要的是,對你有意思的女孩,那是不可能的。機率微乎其微?!!
讓我告訴你一個秘密,兄弟,她其實並不需要知道程式設計。生活中的一切東西都是可以學習的。的確,有些人可能更擅長於程式設計這些理科類的東西,但這並不意味著其他人就無法學習和理解這些內容了。我們能驕傲地宣稱自己是個程式設計師,是軟體工程師,那是因為我們用了很多年的時間去學習和掌握這些知識。但是我要告訴你一個真相,許多你花了一年時間才明白的東西,其實可以在5分鐘內被解釋得清清楚楚,如果你知道怎麼解釋的話。
指標運算真的很難嗎,還是我們需要這麼說以便於自吹自擂,炫耀自己的能耐,因為我們自己是好不容易才明白它是如何工作的?理解多型性困難嗎?是真的很難理解,還是我們自己理解的角度不對?
思維角度相當於80分智商。
你完全能在短短几個小時內就將指標,手動記憶體管理,棧和堆分配,垃圾收集等等等等解釋得一清二楚,如果你選擇了正確的形容和比喻方式。
演算法難嗎?我敢打賭,你肯定不希望有人半夜吵醒你要你寫一個快速排序。但是,如果你有很多小刀,然後教你的女朋友如何對它們進行排序(明顯是按大小來)?你可能依然需要示範個兩三次,才能讓她真正認同這種排序方法是有效的,但其實這個演算法本身不要太簡單。
如果你有一個問題,想了幾個小時還是搞不明白,那麼不妨試試解釋給你的女朋友聽。不要以為這是在對“牛”彈琴(各位美眉勿噴),如果你在句子中突然有所發現,可以中斷談話。試著真正地解釋給她聽,就算她一點兒也不懂技術。如果你能用一個正確的比喻手段來解釋的話,她理解起來其實是很容易的。
記住得是她自願學習這些東西,你不能強迫灌輸知識給她,自己想學才能學得進去。你需要打破的最大障礙是,克服她“我永遠不會明白”的憂慮。
這並不難,只是需要時間
大約6個月前,我的女朋友還正在學習政治學,攻讀她的碩士學位。她真的沒有任何技術經驗。
然而突然有一天,她決定要學一些很酷的東西,以便於用JavaScript在我給她製作的個人網站上面放一些動畫。於是我開始教她Ruby on Rails。兩週之後,她建立了自己的web app。幾個星期後,她意識到,她需要一些更深層次的知識,於是我開始教她更多基本的東西。
我們學習瞭如計算機如何工作,如何手動分配記憶體,棧和堆分配之間的差異,如何在Objective-C做到正確地引用計數,垃圾收集器是如何工作的,函數語言程式設計(此處指Haskell),網路協議以及更多。她甚至知道了我在一年前還不知道的東西。
基本上我採取的方式是,對於我知道的內容,提取重要的東西,扔掉99.5%用於說明什麼重要的浪費時間的玩意兒,只教她需要知道的東西。
不過這還不足以讓人成為一個程式設計師,她還需要了解硬體部分,但即使這樣,她已經比大多數在學校中學習軟體工程的人懂得更多了,僅僅學了6個月之後。
你是一個專業的老師
作為一個專業的開發人員,也意味著在一定程度上你是一個專業的老師,因為我們的工作迫使我們需要不斷地解釋給其他人聽。我們必須將自己代入閱讀者的角色以便於讓我們的程式碼更易於理解。我們必須解釋我們做的事情,當別人不知道這有什麼用的時候。我們必須教實習生如何邁向自己的偉大之路。
我們在工作中能做的就是將複雜的事情簡單化(話說,有些人恰喜歡反其道而行)。之所以需要這麼長的學習時間,其原因之一就是因為我們經常迷路。你可能有一個偶爾會給你解釋一些東西的教授,但是很遺憾每週只有一節課。
但是話說回來,如果你教你的女朋友——因為是住在一起的——那麼她隨時就可以問你,因為你隨傳隨到,立馬可以給她解答問題。
開發人員通常之所以非常擅於谷歌搜尋,是因為經常陷入迷途。總是需要自己去尋找答案。但是,如果在同一個房間裡,對方隨時能提供答案的話,那生產效率還能不高嗎?
相關文章
- 如何教女朋友程式設計?程式設計
- 如何六步教女朋友寫 Python ?Python
- 程式設計師女朋友如何給程式設計師男朋友過生日?程式設計師
- 如何讓程式設計師變得沒朋友程式設計師
- 程式設計師從教女友寫程式碼中學到的程式設計師
- 教女朋友寫方法 -- 就要學習 Go 語言Go
- 程式設計師如何發現女朋友出軌?程式設計師
- 光棍節專題:python程式設計師如何找女朋友Python程式設計師
- 內向的亞裔程式設計師,如何在西方交到朋友?程式設計師
- 內向的亞裔程式設計師,如何在西方交到朋友程式設計師
- 程式設計師朋友推薦的好用API程式設計師API
- 魔法師槍戰~Scratch小朋友程式設計~程式設計
- 程式設計師用寫程式碼的方式找女朋友程式設計師
- 寫給新入行的程式設計師小朋友程式設計師
- 程式設計師到底有沒有女朋友?程式設計師
- 幽默:VSCode是程式設計師最好的朋友VSCode程式設計師
- 誰說程式設計師找不到女朋友,程式設計師明明那麼有市場!程式設計師
- 從教女友寫程式碼中學到的
- 一個會做飯的程式設計師如何每天給女朋友帶不同的便當?程式設計師
- 程式設計師是怎樣把女朋友聊沒的?程式設計師
- 程式設計師怎樣才能達到程式設計的最高境界?(送給喜歡寫程式碼的朋友)程式設計師
- 盲人程式設計師是如何程式設計的?程式設計師
- 光棍節專題:python程式設計師如何爬取知乎使用者找女朋友Python程式設計師
- 如何自學程式設計?程式設計
- 如何享受程式設計?程式設計
- 1024 看到程式設計師的朋友圈說說程式設計師
- 女朋友掉水裡,各類程式設計師怎麼救?程式設計師
- 前端程式設計師的趣事,一起來看看吧前端程式設計師
- 姑娘,我們們一起去學程式設計吧程式設計
- 姑娘 我們們一起去學程式設計吧程式設計
- 帶上《與孩子一起學程式設計》回家過年!程式設計
- 程式設計師如何獲取新程式設計技能程式設計師
- 視障程式設計師是如何程式設計的?程式設計師
- 如何向新手程式設計師介紹程式設計?程式設計師
- 當設計師、產品經理和程式設計師去交友站點找女朋友程式設計師
- 程式設計師們,你們再這樣下去會沒朋友的程式設計師
- 跟我一起夯實程式設計基礎 - 字元編碼程式設計字元
- 程式設計師兄弟:我們們一起創業吧!程式設計師創業