標籤:
首先向作者致敬。
在這個物慾橫流的社會,能夠堅持自己的初衷,不為利益所擾的人已經不多見了。
作者通過愚公移山的故事來引出編程的精義,實在是獨具匠心。而且他居然只用這個故事就解釋出來了以前老師說來說去:程式=演算法+結構,但是我對這句話的理解直到看了這本書才真正豐滿了起來。
原始需求:“懲山北之塞,出入之迂”;
項目溝通的具體方式:“聚室而謀曰”;
項目目標:“畢力平險,指通豫南,達於漢陰”;
技術方案:“扣石墾壤,箕畚運於渤海之尾”;
技術人員以及工程管理員:“(愚公)率子孫荷擔者三夫”;
外協人員:“鄰人京城氏孀妻,有遺男,始齔,跳往助之”;
……
作者將整篇文章按照軟體工程的思維層層分解,形象生動,就算是一個初學者也能明白。
緊接著再用一個你無法否認的問題證明你能編程除非你是先天智障或是後天懶惰。最後用一個簡單的式子:程式=演算法+結構,來解釋編程的精義。從大一第一節C++課開始,老師就不斷地向我們灌輸這個概念,但是我從來沒像現在這麼的理解透徹。正如作者所說的:這個式子的精彩之處就在於它沒在任何地方提及到代碼,存在的只是思想。不管多麼複雜的演算法都是由順序、分支和迴圈結構構成的。只要將演算法設計出來了,那剩下的就是體力活了。而現在的我們大多數人都只是會這最後一步,我們拿著別人設計好的演算法,寫好的代碼改來改去,來應付老師布置的任務,在這個過程中,我們學會了什嗎?浪費了時間,卻一無所獲,更可悲的是,我們滿足於此。
生於憂患,死於安樂。
當你熟悉了一門語言之後,你可以在兩周的時間內掌握另外的任何一門語言。不同的語言適用的範圍不同,所以我們不應該在哪門語言才是最好的語言的問題上浪費時間。現在我並不熟悉任何一門語言,所以也不會去爭辯誰才是最好的語言,但以後,我們或許有幸成為了某一領域的大牛,到了那個時候我們是不是會在心裡默默想:(我主攻的)語言才是最好的?
永遠不要一葉障目,學習之途永無止境。
在沒有工程的時代,出現了非常非常多的人物,其中有演算法大師,有遊戲大師,有語言大師,唯獨沒有工程大師。
因為沒有選擇。我們這個時代有了工程,你可以選擇去當個碼農,但是你真的甘心嗎?
學如逆水行舟,不進則退。每次編程前先把事情分析清楚(設計思路,用自然語言描述),再搞清事件的前後邏輯和依賴關係(程式流程圖或虛擬碼編程),最後再去用代碼實現(程式設計)。這就是王老師說的編程的第一要務,看完這些話再想想上學期所謂的程式設計,不堪回首。但我必須承認要按照這個流程來做,真的不容易。現在的我在拿到一個問題的第一時間,想到是是以前有沒有類似的模板,是不是可以百度到。我已經習慣了懶惰,而改變一個人的習慣似乎並不是一朝一夕的事情。
有人說:“在該奮鬥的年齡,不要選擇安逸。”
深以為然。
不想在以後的日子裡後悔今天的自己不求上進,一事無成,所以我沒有選擇。
《大道至簡》第一章讀後感