自從踏上程式開發這條不歸路後,不是在折騰就在折騰路上。從事這個行業的孩子基本上是勤奮的童鞋,因為技術一直沒有停止更新,基本每隔一段時間就會有新的技術出來。所以一直盲目的追從,是沒有效率的。
無論哪種技術思想出來都有個基本的根,學好了這些基本功再接觸這些技術就會事半功倍了。
《計算機導論》先驅就有提過著名公式:程式=資料結構+演算法。資料結構資料結構是以某種形式將資料組織在一起的集合,它不僅儲存資料,還支援訪問和處理資料的操作。演算法是為求解乙個問題需要遵循的、被清楚指定的簡單指令的集合。
演算法
初級篇:記住都有哪些演算法,解決什麼問題去試**決實際的問題,自然會碰到之前演算法解決的問題,使用這些演算法.
高階篇:先完成中極篇分析一下演算法的解決辦法是如何才能想到,最核心和最精妙的地方在哪兒實際的問題如果與標準演算法都不太象,仔細想想這個問題的本質,借鑑經典演算法精妙之處,自己設計自己要用的演算法.
骨灰篇:先完成高階篇忘掉所有演算法解決實際問題.
它提供了乙個驅動力讓你去真正掌握你應該要掌握的知識——編譯原理、計算機網路、作業系統……想要用***功能?學啊!想要插u盤?學mount!想要定時備份檔案?學crontab!每乙個功能都或多或少讓你明白linux背後的機理。linux高昂的學習成本對於開發人員來說,才是正常的。因為作業系統就是有這麼複雜,就是有這麼多知識要掌握,使用系統的本身和linux正統的c語言讓你把所有計算機的基礎知識都串了起來,不再只是空中樓閣不可觸控。而且毫無疑問它可以提高你解決問題的能力。以致於現在每當提起linux,我都覺得自己是個sb。程式語言有物件導向,面向函式,面向過程區分,各有優缺點,按場合使用。它提供了無數可以重用可以自由定製的工具。「君子生非異也,善假於物也」。以命令列而不是gui為介面有乙個巨大的好處——管道風格的重用。雖然命令列使用起來不如gui直觀,但它在可擴充套件性上有無與倫比的潛力;甚至連作業系統本身都是開源的,你可以定製屬於自己的個性化系統。你的生產力會大大提高,而且你不必再重**明輪子,你可以專注造你的dream car。
它提供了乙個以分享、協作、創新的開源自由環境。「linux上每個程式都是半成品。」個人撰寫的程式在最初是為了滿足自己的需求,而後他將他分享出來;你想要使用他的程式,但程式不夠完善,你將它修改之後滿足了自己的使用,而後又將它分享了出來。就是這樣乙個又乙個的使用者和開發者雙重身份的協作,讓程式越來越優秀,沒有止境。
它提供了乙個歷史悠久、經受了考驗的技術框架。技術發展日新月異,今天所學明日可能已成糟粕。windows下面的技術從win32 api到.net便是一例。但從unix上傳承下來的底層技術卻少有變動,一直廣為使用。從知識的長期投資價效比來說,linux也應當作為可靠的選擇之一。
但總體原則是不變的,可讀性好,易維護,容易擴充套件。效率按開發效率,執行效率取捨。
可在熟悉一門語言基礎上,再多了解幾門語言,開闊視野。
程式設計師學習思路總結
高階學習思路 從事linux驅動開發4 5年,近期個人技術學習路線遇到瓶頸,整理了一些學習方法和思路。學習一門語言或者框架思路 編碼效率提公升思路 1 練習打字 提公升自己的盲打速度,要求包含符號全部可以做到盲打。可以找一些打字練習 或者軟體練習。2 應用快捷件練習 把常用的工具,特別是編碼工具,要...
黑馬程式設計師 棧的學習總結
namespace mystack int pos 0 while cs.count 0 pos if result else console.readkey 關於stack類 stack類是icollection介面的乙個實現,代表了乙個lifo的群集或乙個棧。該類在.net框架中是作為迴圈緩衝來...
黑馬程式設計師 C Socket學習總結
windows phone 7手機開發 net培訓 期待與您交流!網路中的計算機實現通訊的前提是知道對方的ip位址和埠,然後建立通訊通道最後通訊,socket就是建立計算機通訊通道的類。伺服器端建立乙個監聽套接字呼叫listen方法來監聽客戶端請求,瀏覽器 客戶端 用已知的伺服器ip位址和埠號建立請...