寫在前面:有階段的本身,會用蠻力去學習一些東西,就是這東西不論是否適合目前本身的知識體系, 以爲學了以後會更牛逼就去學,可是這樣的東西每每學了記不住。 學習的過程越用力反而顯得越吃力, 太吃力的事情,天然就沒法有恆心, 這就是不少人會以爲本身作事老是沒法鍥而不捨的緣由。編程
精神上的用力並不會讓你跑得更快,可是精神上的疲憊卻可讓你停下。數據結構
總有在校的學生問我如今 X,Y,Z... 技術很火熱,應該學哪一個? 我看他列出的那些準備學習的選項中,其實前景和熱門程度都差很少。 這讓他陷入了選擇焦慮症,無論作什麼決定都怕「一失足成千古恨」。性能
對技術發展趨勢關心是好事,就像以前那篇「不要老是選擇困難模式」裏面說的那樣。 可是其實在「不要老是選擇困難模式」裏面忽略了很重要的一點,就是你我的的興趣。 好比有的人對蘋果的東西有天生的熱愛,因此選擇「iOS開發」對他來講就更容易作好。 儘量選擇會讓本身 Enjoy 的技術方向,路還很長,不享受過程的話容易半途而廢。學習
『太用力的人跑不遠』spa
有階段的本身,會用蠻力去學習一些東西,就是這東西不論是否適合目前本身的知識體系, 以爲學了以後會更牛逼就去學,可是這樣的東西每每學了記不住。 學習的過程越用力反而顯得越吃力, 太吃力的事情,天然就沒法有恆心, 這就是不少人會以爲本身作事老是沒法鍥而不捨的緣由。.net
記得以前本科的時候喜歡和舍友一塊兒打Dota,打Dota開局以前通常要等人齊, 等人的這段時間我有時候會切出來寫寫代碼,叫舍友開局了告訴我一聲。 而後別人看到我在打Dota間隙都在寫代碼,就以爲我有多努力多努力,給人了一種很是「刻苦」的印象。 以致於上次和一個本科同窗吃飯他還提及這個事情,以爲我能作到這樣很是「牛逼」。blog
可是其實這樣的事情,若是對於真的對寫代碼有經歷過熱愛的人,是不會以爲有多麼刻苦的事情。 這是天然而然的事情,甚至其實有些代碼,那種知足好奇心的快感,是比打遊戲有意思的多, 是件很Enjoy的事情,而不是所謂的「刻苦」。遊戲
就像跑步,「太用力的人跑不遠」。內存
『不要用蠻力去學編程』開發
記得當年初學 C++ 的同窗,聽別人說 C++ 很基礎也很重要的一個知識點就是STL, 而後據說要學好 STL 就應該去看看侯捷的「STL源碼剖析」。 而後就買了書硬啃,而後沒啃幾天就放棄了,以爲太諱莫如深了無法理解。
可是若是換個學習的方式, 先假設如今沒有STL這個標準庫, 讓你用已有的C++語法知識去本身寫一個仿造STL標準庫的功能, 哪怕是最最簡單的 vector 。 你在編寫的時候就會天然而然得體會到內存動態擴展的一些缺點和潛在的坑。 會知道爲何適當使用 reserve 和 swap 能很是明顯的提升性能。
而後在本身思考的過程當中會提出不少相關的疑惑, 帶着疑惑再去翻看「STL源碼剖析」, 就會讓你對一個個數據結構恍然大悟知根知底。 天然而然你的看書體驗會很是的 Enjoy, 而不是以爲苦澀難嚥。
編程和求知自己是一件愉悅身心的事情, 若是隻是爲了高薪,而用蠻力去寫代碼,只會讓本身疲憊不堪。
『最後』
但願對在學習編程的路上很掙扎的朋友有所幫助。 畢竟工做是生活的很大一部分, 若是工做不開心,生活怎麼辦。