??本文是大二時給大一新生做演講的稿件,比較口語化。結合自身經歷,我這邊提了一些觀點,權當總結,也與閱者交流。
那時候:
??大一,特別是第一學期,對編程一竅不通,填志愿也是僅憑著自以為計算機很牛逼就選了。第一學期,給自己的目標是:扎實基礎,學好課程
。譚浩強那本常被詬病的C語言,我精讀了三四遍。自己寫需求寫代碼,像萬年歷,學生管理系統等。
??書本后的練習,基本上是在A4紙上練習的,輸入電腦運行不過是最后的校驗,白板練習有助于更好的理解代碼。自己寫的程序,先檢查無誤,在紙上跑一遍能跑通,而不是抱著試一試能不能運行的態度來測試程序。這其實是一種很好的方法,后面學數據結構也好,一些復雜的算法,依靠IDE調試,大多數時候并不如自己在紙上跑一遍,用自己的腦子去編譯一下。這里其實是強迫人腦深入思考,用則進
。
??很多朋友經常在小細節上犯錯,究其原因,不過是基礎不扎實,代碼量不夠。對于新人,不需要好高騖遠,夯實基礎最重要
。
??大一下學期,看了一下C++ primer 。 算法比較菜,所以對每一次作業都嚴陣以待,白板練習。后面覺得大作業寫黑白框太丑,單單用C++太大眾,就學了一個gtk,再后來覺得gtk老掉牙,ubuntu大力支持QT,就學了一下QT。學Qt的過程,最大的收獲是強迫自己去看英文文檔,學會自學。學的知識是可以復制的,但是學習能力卻是不能復制的。不要老是想著要多學幾門語言,基礎扎實,學習能力上來了,學什么都是很隨意的。這里其實是認知深度夠了,泛化能力也會提升
。
??制定計劃,并逐步去完成它
。大二,我開始學世界上最好的語言----PHP。和老師做項目期間自學了python爬蟲,收益匪淺。考了個軟件設計師,參加了若干比賽。再補充了一下下前端知識。逐步開始在后端上發力。而這一切都在計劃之中,后面回頭看都是完成甚至超額完成的。
好習慣。
??養成一個好習慣將改變一生
。說到習慣,早起早睡算是一個好習慣,早上六點半,晚上11.30。這個習慣是從大一開始形成的。跟很多朋友聊過這個習慣,大家都說宿舍太吵,宿舍環境也不好,可是當你不能改變環境的時候,要試著改變自己。大學就是學會學習,學會生活。
??讀書,書中自有千鐘粟
。技術,文學,旅游,生活,情感,小說,我是無一不涉,其中最愛古文和文學類書籍,一直覺得自己更應該是個文藝青年的。未讀大學前,作為一個農村孩子,除了教科書很少接觸到其他書籍的,也自覺讀書少帶來的淺薄,所以一直在補書。腹有詩書氣自華嘛。
??旅行。讀萬卷書,行萬里路,要讀書更要行路
。廣州有很多好玩的地方,從開始定計劃到現在,我走了二十來個地方。喜歡去古寺、道館,書店、公園。像白云山,上面的能仁寺,白云仙館,下面的麓湖。廣府文化代表陳家祠、北京路的城隍廟,南越王墓,大佛寺,都是廣州的招牌。不太看好只把課余時間拿來打游戲或者學習的。視野決定高度,生活不只眼前的茍且,還有詩和遠方嘛;
做有趣的事。
??做一個好奇心很強的人
。學gtk,qt,php,python都是如此。包括最近很火的tensorflow,是暑假在家突然想到要了解一下深度學習,就看視頻,買西瓜書,聽吳恩達的deeplearning課程。安利一下,吳恩達的課程在網易云課堂上能找到。
??沒有最好,只有最合適
。每一門編程語言都是有趣的,語言不分好壞,只是在具體的需求面前,哪種更加合適而已。像java做web開發很不錯,但是要快速搭建還是用php,寫tensorflow,簡潔的寫法當然是用python,高性能的東西,c、c++更加合適。多了解一些語言,會拓寬視野,而視野決定高度
。只要基礎扎實,入門一門語言就是幾天的事。像我學python花了四天,敲完一堆demo。
??有興趣是好事,但是也要有個主方向
,像決定以后做后端,那現在就該把精力向它傾斜。其實就業的選擇真的很多,條條大路能賺錢。當然,現在很熱的幾個方向我們都應該多多關注,像機器學習,AR。其實機器學習也不是那么遙不可及的,他不過是一個讓機器求參的模型。
??不要忘記修煉內功
。 算法算是高級武林學術,每年大一玩acm的都很多,然后大二基本跑光了,包括我。算法如內功,在不和具體應用結合的時候看起來不過是天文數字和神奇公式,一旦結合,就產生巨大的效應了。現在也越來越傾向于招算法工程師了,算法能力比較難培養,而培養一個應用開發是可以很快的。其實算法能力會無形的影響你的整個項目,所以基本的算法能力是一定要掌握好的。