|
半路出家踏進(jìn)這個領(lǐng)域的,基本上全部是靠自學(xué)的。下面是這些年來的自學(xué)途徑(含未完成部分),目標(biāo)是為未來的30年進(jìn)行技術(shù)儲備。換一句話說,今后三十年都打算搞技術(shù)。什么程序員三十歲怎么怎么,先把這句話踐踏在腳下。
下面的圖中,黃色部分是正看的(含看了七八年還沒看完,但又不想放棄的的),紅色部分是待看的,白色是已看的。打叉的是不想看的。
首先,是技藝部分。自學(xué)路線如下:
當(dāng)然,中間還看過其它很多相關(guān)書,但我覺得那些書不是很重要,包括《設(shè)計模式》。
然后是領(lǐng)域部分。把軟件開發(fā)分為三個領(lǐng)域:它的本身領(lǐng)域/行業(yè)應(yīng)用領(lǐng)域和企業(yè)(政府)應(yīng)用領(lǐng)域。
1. 本身領(lǐng)域
這張圖中,我把領(lǐng)域分為四個維度:系統(tǒng)、數(shù)據(jù)、算法和網(wǎng)絡(luò)。這四個維度在未來的30年中都會很重要。上面的書都是我個人覺得適合自學(xué)的書。
備注:
(1)別聽Google咋呼什么操作系統(tǒng)會過時。操作系統(tǒng)在幾十年內(nèi)仍然是基礎(chǔ)。嵌入式那一堆我不了解,但PC、服務(wù)器、移動設(shè)備未來可能仍然是Windows和*nix的天下,因此,一本W(wǎng)indows Internals和一本Linux內(nèi)核的書就夠了,兩個操作系統(tǒng)對比著看,可以更深入的了解操作系統(tǒng)。
(2)雖說《計算機(jī)組成與結(jié)構(gòu)》是《計算機(jī)體系結(jié)構(gòu)·量化研究方法》的基礎(chǔ),但我覺得做軟件的,可以不看《計算機(jī)組成與結(jié)構(gòu)》,直接看《計算機(jī)體系結(jié)構(gòu)·量化研究方法》,后者很易讀很有用。
(3)不推薦自學(xué)者看《算法導(dǎo)論》,《算法導(dǎo)論》可作為手冊來用。這里推薦的是《算法:X語言實(shí)現(xiàn)》和《算法引論》兩本書,第一本書是基礎(chǔ),第二本書是講思路的。
(4)《網(wǎng)絡(luò)處理器與網(wǎng)絡(luò)系統(tǒng)設(shè)計》一書的前半部分寫的非常精彩、簡煉,俺只翻過前半部分,后半部分不是搞網(wǎng)絡(luò)設(shè)備的不推薦看。
(5)隨機(jī)圖、復(fù)雜網(wǎng)絡(luò)這是未來網(wǎng)絡(luò)應(yīng)用的數(shù)學(xué)基礎(chǔ)。
下面是斃掉的:
(1)前面兩個大家都叫好,但我實(shí)在靜不下心來看,太抽象,斃掉了。
(2)離散數(shù)學(xué)太雜,但具體的主題又講的太淺,基本上在每本書中都會講一些該領(lǐng)域的數(shù)學(xué)基礎(chǔ),離散數(shù)學(xué)就可以不看了。想深入某一領(lǐng)域直接Google這一領(lǐng)域的paper就可以了。我沒看一本離散數(shù)學(xué)書,感覺對后面的自學(xué)沒有影響。作為替代品,我推薦中科大某老師寫的《數(shù)學(xué)基礎(chǔ)》(很遺憾的是,這本書我現(xiàn)在搜不到了),講集合論的,看起來非常爽。
(3)《編譯原理》我個人認(rèn)為也可以不看。它很重要不假,但不是必要的。
2. 行業(yè)應(yīng)用領(lǐng)域
行業(yè)應(yīng)用的基礎(chǔ)是數(shù)學(xué)。因此主要是復(fù)習(xí)和自學(xué)數(shù)學(xué)知識。未來幾十年,IT會大量的向各行業(yè)滲透。因此,非離散數(shù)學(xué)比離散數(shù)學(xué)會變得有用。下面是俺的儲備圖:
嘿嘿,從上圖可以看出,俺最近正在這一領(lǐng)域攻城掠地。
備注:
(1)線性代數(shù)非常有用,但太TMD抽象,學(xué)了就忘(大學(xué)中開了兩門線性代數(shù)課,不好意思,畢業(yè)后馬上忘記光了)。線性代數(shù)的核心是“變換”,但這玩意,對高維空間很難理解。因此,需要以復(fù)分析作為過渡,把復(fù)數(shù)運(yùn)算作為一種變換來理解,然后再過渡到理解線性空間中的變換。復(fù)分析以前沒接觸過,掃了幾眼那本《復(fù)分析:可視化方法》,突然感覺,對線性代數(shù)的理解深入一點(diǎn)了。
(2)《變分法》以前沒接觸過,接觸之后發(fā)現(xiàn)很好很強(qiáng)大。
(3)行業(yè)應(yīng)用的關(guān)鍵是數(shù)值分析。
(4)數(shù)值一般都是采樣來的,因此,又需要了解《信號與系統(tǒng)》。
(5)隨機(jī)、統(tǒng)計、模式分析,這些是隨著計算機(jī)技術(shù)的發(fā)展大放光芒……
(6)上面的核心理論都是幾十年一二百年前的,估計幾十年內(nèi),不會過時。是計算機(jī)的發(fā)展,讓這類計算變得可行了。
3. 企業(yè)(政府)應(yīng)用領(lǐng)域
想了想,軟件可能涉及的核心應(yīng)用領(lǐng)域應(yīng)該是上面這些(“中國人的心理”除外)。這些在N年前已經(jīng)蹂躪過了。不過現(xiàn)在基本不做這類方面的開發(fā),改作管理研究了。把《運(yùn)營管理》排第一是因為ERP、OA、供應(yīng)鏈之類的應(yīng)用都處于運(yùn)營管理的范疇,從運(yùn)營管理的角度進(jìn)行了解,會更深刻些。
下面是三個英文詞:
Operation System - 操作系統(tǒng)
Operation Management - 運(yùn)營管理
Operation Research - 運(yùn)籌學(xué)
中文名字不知道是那幾個家伙翻譯的,搞的三個詞完全到三個不同的領(lǐng)域了。Operation System 在 IT, Operation Management 在管理,Operation Research 在數(shù)學(xué)。實(shí)際上這三個是三位一體的,都是講怎么管理和調(diào)度資源,怎么樣組織流程的,怎么樣優(yōu)化資源和流程的。Operation System 的對象是計算機(jī)資源,Operation Management的對象是企業(yè)資源,Operation Research為上面兩個提供數(shù)學(xué)支持,三者三位一體:
再放大點(diǎn)看,可以看見上面三個領(lǐng)域也是三位一體的:
上面是為未來三十年做的知識儲備。
it知識庫:自學(xué)之路——為今后的30年做準(zhǔn)備,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。