将近一個月沒有更新了。先彙報下近期學習情況吧:
按照前期的計劃,從基礎學起,看完了《作業系統精髓與設計原理》和《計算機網絡》,開始看《資料結構C++語言描述》。
《作業系統精髓與設計原理》:程序、記憶體管理、資訊安全、資源管理、系統結構。程序與記憶體管理看的與思考的多些,其餘三個是翻過一遍。
《計算機網絡》:五層協定:實體層、資料鍊路層、網際層、運輸層、應用層。對這五層協定進行了重點掌握,而後面的網絡安全、音頻視訊、無線網絡等也都是一帶而過。
《資料結構C++語言描述》:剛開始看。當時買回來就是因為按照網上的推薦,本來是作為普通基礎書看,但是打開一看,我卻相當興奮。大家都知道,自學時最痛苦的就是沒有老師在旁邊教你怎麼看,怎麼學,遇到問題怎麼辦。我在看《C++ Primer》時,不能對各章節知識統一起來掌握。說白了,就是做不出來程式。而《資料結構》用了例子來說明,并且在每行代碼中都加上注釋。網上經常說過多注釋會影響代碼可讀性,但是說這些話的人都是些老鳥,殊不知我這個菜鳥需要讓一個“老師”來告訴我:“你的程式應該這樣設計,不應該那樣設計。那為什麼我要求你這樣設計呢?請看我這段代碼,我已經将各行的意義(注意,不是含義,是意義。它與含義的差別是:一個是什麼,一個是為什麼。)注釋在行尾,你去仔細研讀。還有不懂的?那就把你的《C++ Primer》這本工具書常備着。”
學到的經驗:
遇到不會的地方,先跳過去,不要影響了學習計劃。等回過頭來,會發現原先的問題不知不覺中就已經解決了。例如:程式、程序、線程的差別是什麼?我一開始雲裡霧裡,後來忽然有一天,也不知道看到了作業系統哪一章,就撥雲見日。程式:一堆代碼、可靜可動。程序:一堆代碼、因為依托記憶體是以必須動。線程:程序的子集、切換比程序省時。
一本好書很重要,會使你學到一些重要的東西。好書的概念是一開始就告訴你全篇的内容簡介,并對各章内容有個稍微重點的概括。這是為了避免我們在學習時,由于惰性而對後面章節懶于翻看。在這方面,我這篇blog中提到的兩本書要比《C++ Primer》好一些,《C++ Primer》雖然是本經典,但是開始并沒有對整本書各章節進行重點介紹,導緻我在看後面章節時因為注意力不集中而不得要領。這也導緻我在看《資料結構C++語言描述》第2章【例2.1】就卡住了:重載指派運算符怎麼使用的?為什麼要用operator=來對前後兩個類對象指派?不可以直接對兩個類對象用“=”指派嗎?如果不用operator=指派,是不是也可以完成前後兩個類對象的相等指派?到寫這篇文章時,我已經卡了3天了(我是菜鳥,而且又犯了上一條經驗所說的錯誤:在一個地方停留過久)。
下一步:
好好學下《資料結構》中的内容,然後學習《算法導論》,這兩門估計又要花費一個月時間。在這之後還有《鳥哥的LINUX私房菜》和《資料庫基礎》需要學習。從這點說的話,今年作出一個産品的可能性會減小了。
不過,我看了下,利用PHP和Mysql可以快速建站。這個學習周期不知道要有多長?畢竟,快速作出一個成品的話,對菜鳥的自信心提高還是很有幫助的。是以,希望各位老鳥們不吝賜教啊。
說到這裡,有些老鳥可能會嘲笑我又學C++又學PHP,沒有專攻啊。我也深深地意識到這點,但是,C++會教會我們底層的那些需要封裝、多态性能,PHP能夠讓人迅速增長自信心。結合來看,是個不錯選擇。當然,Python可能也是個不錯的選擇。