0 - C
1 - 前言
編程到一定的時(shí)候视粮,發(fā)現(xiàn)能力到瓶頸,既不深土浸,也不扎實(shí)罪针,半吊子。
-
長期使用Java和.NET 黄伊,有虛擬機(jī)的語言對(duì)于開發(fā)便利泪酱,
但是弊端是:
虛擬機(jī)屏蔽了操作系統(tǒng)的系統(tǒng)調(diào)用,以及很多底層機(jī)制。
大量的封裝好的類庫也屏蔽了很多實(shí)現(xiàn)細(xì)節(jié)墓阀。
一段時(shí)間后毡惜,你會(huì)發(fā)現(xiàn)你知其然,不知所以然斯撮。
程序員不懂底層實(shí)現(xiàn)经伙,所以很難把技術(shù)學(xué)得更扎實(shí)。
要學(xué)習(xí)底層的技術(shù)勿锅,很自然的帕膜,C語言就被提了上來。
2 - C語言和系統(tǒng)編程
學(xué)好編程有四個(gè)方面:語言溢十、算法和數(shù)據(jù)結(jié)構(gòu)垮刹、系統(tǒng)調(diào)用和設(shè)計(jì)。
-
語言张弛。C語言有兩大主題荒典,一個(gè)是內(nèi)存管理,一個(gè)是指針乌庶!
這個(gè)世界上90%以上的C/C++出的嚴(yán)重性錯(cuò)誤全是和這兩個(gè)有關(guān)种蝶。
-
推薦《C程序設(shè)計(jì)語言(第2版·新版)》
作者: (美)Brian W.Kernighan,Dennis M.Ritchie
譯者: 徐寶文 李志
原書名:The C Programming Language
-
算法和數(shù)據(jù)結(jié)構(gòu)。
-
C語言實(shí)現(xiàn)(第1~4部分)基礎(chǔ)知識(shí)瞒大、數(shù)據(jù)結(jié)構(gòu)、排序及搜索(原書第3版)
Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching (3rd Edition) (Pts. 1-4)
作者: (美)Robert Sedgewick
譯者: 霍紅衛(wèi)
-
《算法導(dǎo)論》
原書名:Introduction to Algorithms, Second Edition
作者: (美)Thomas H.Cormen, Charles E.Leiserson 等
譯者: 潘金貴 顧鐵成 李成法 葉懋
-
-
系統(tǒng)編程搪桂。
Windows下推薦兩本書——《Windows 程序設(shè)計(jì) 》和《Windows核心編程》透敌,
Unix/Linux下推薦兩本書——《Unix高級(jí)環(huán)境編程》和《Unix網(wǎng)絡(luò)編程卷1,套接字》《Unix網(wǎng)絡(luò)編程卷2踢械,進(jìn)程間通信》酗电。
-
系統(tǒng)設(shè)計(jì)。
- 關(guān)于設(shè)計(jì)方面内列,推薦《Unix編程藝術(shù)》撵术。
如果你能在2-3年內(nèi)精讀完這些書,并全部融會(huì)貫通 ! _ !
3 - 系統(tǒng)的基礎(chǔ)知識(shí)话瞧,表面的東西永遠(yuǎn)是膚淺的
編程編到一定時(shí)候嫩与,就需要了解底層系統(tǒng)的機(jī)制,否則交排,知其然不知所以然划滋。
如果你想要了解底層機(jī)制,請(qǐng)學(xué)習(xí)C語言和操作系統(tǒng)埃篓。
40多年的Unix/C影響深遠(yuǎn)处坪。包括影響了Windows。如果你想一通百通,一定要了解Unix同窘。那是計(jì)算機(jī)文化真正的根玄帕。
不要以為一個(gè)DBA就不會(huì)考慮數(shù)據(jù)庫引擎的內(nèi)存頁面的問題。
也不要以為Web程序員就不需要了解后臺(tái)的服務(wù)器和腳本的運(yùn)行性能以及TCP/IP的問題想邦。