大道至簡這本書總體來說比較通俗易懂,同時在說明自己觀點的時候引用了許多古代的例子,更加的形象生動有趣,可讀性很強。 前幾章的主要思想如下: 程式=演算法+結構+方法;編程的第一要務是先把事情分析清楚,把事件先後的邏輯關係和依賴關係搞清楚,然後再去寫代碼實現。代碼是不存在的,存在的只是思想。其實演算法是對 ...
大道至簡這本書總體來說比較通俗易懂,同時在說明自己觀點的時候引用了許多古代的例子,更加的形象生動有趣,可讀性很強。
前幾章的主要思想如下:
程式=演算法+結構+方法;編程的第一要務是先把事情分析清楚,把事件先後的邏輯關係和依賴關係搞清楚,然後再去寫代碼實現。代碼是不存在的,存在的只是思想。其實演算法是對一個程式的邏輯實現的描述,而結構是邏輯實現所依附的數據實體。在所有演算法的描述中,有且僅有順序、分支、迴圈這三種執行邏輯。而且對於編程語言來說只有喜不喜歡的問題,沒有會不會的問題,語言的差別主要表現在適用範圍上。
不知不覺中,大一生活悄然結束,自己已經學習編程一年時間了。以前遇到一道編程題,看懂了題目就開始寫代碼,邊想邊寫,在腦里了檢索這道題應該套用自己所知道的哪一個模板來解決這一問題,往往都是寫著寫著就突然沒有思路了,效率很低,做完一個簡單的題目有時候都需要很長時間。結合書中所傳達的思想,我明白了原來是我沒有一個大局觀念,在面對一道題的時候,首先要做的就是把邏輯關係理清,有了一個具體可行的方法,最後才是開始寫代碼。
對於各種高級語言來說,他們本身並沒有什麼高低之分。並不是哪一門語言就特別的好用,這要在具體的環境中才能決定。就拿我剛剛所學的C語言和C++語言來說吧,C語言對於過程的描述更加的準確,需要編程人員把所有的情況都想到並寫進程式里;而C++則是繼承了C語言並予以了發展,以類為基礎的單元,實現對數據的封裝,從而大大增強了安全性,更加的適用於大程式的編寫。
勤奮固然重要,但是“懶人”造就了方法。雖然古語常說:“天道酬勤”,但對於編程來說,從才不缺勤快人,反而卻缺少一些懶人。有些東西並不是勤快就能解決的,例如說,計算100的乘,這個題目非常的簡單易懂,並不需要思考。我們都知道一個簡單的迴圈便能實現,可如果在還沒有迴圈語句的時候,我們靠著勤奮一點一點的通過過程從1開始不斷地乘最終也能夠實現,顯然,這種“勤奮”是毫無意義的。
失敗的過程也是過程。引用瀑布模型及其一些變形,證明:做過程既不是做工程的精義也不是目的,還拿戲目與項目比較,提出走過場之類的詞語,道出編程的目的——實現。實現,才是目的。工程只是一種實現的途徑,也給我們這些初學工程的學生一個警示:為工程而工程的人,都迷失在項目中了。結合生活實際,我們平常大多數人也是這樣吧,為了交作業而趕代碼,忘記了敲代碼的目的是什麼了,殊不知越是簡單的東西,越接近於本質。現在學的簡單的敲代碼做工程是為了以後的大一點工程,實現才是目的。這一章節也擴展到了生活中的工作:工程不是做的,是組織的。分工明確,步調一致,共同完成這個項目。
通過這一本書使我明白了應該如何去更好的編程,對於接下來學習JAVA更提供了指導意義。謹以此篇,訓誡自己。