据说,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍、Java 程序员的 2.6 倍, Linux 程序员年终奖金平均为 Windows 程序员的 2.9 倍。同时数据显示,随着工作经验的增长, Linux 程序员与 Windows 程序员的收入差距还有扩大的趋势。要学好 Linux 环境下的编程,关键是要看对、选对、学会正确的书籍。可以说,如果你选对了 Linux编程的经典书籍,配合你在程序设计工作中的刻苦钻研,成为一名精通 Linux 程序设计的高级程序员并非一件可望不可及的事情。但如果程序员没有选对正确的书籍,则你的职业生涯之路就可能面临坎坷。
为什么要学习 Linux 环境下的编程
Linux 是一个开放、灵活、跨平台的操作系统,上至庞大的数据中心,下至可放于掌心中的嵌入式设备,无处没有 Linux 的身影。更为重要的是, Linux 是一个与 Unix 既一脉相承又与时俱进的系统。可以说,上世纪70年代学习的 Unix 知识和技巧,在今天仍然大有用武之地。
《UNIX环境高级编程》(第2版),史蒂文斯著
《UNIX环境高级编程》,推荐指数:★★★★★
《UNIX环境高级编程》是 Unix/ Linux 程序员案头必备的一本书籍。可以说,Linux 程序员如果没有读过这本书,就好像基督教徒没有读过圣经一样,是很难让人理解的。这本书概括了 Linux 编程所需的一切理论框架、主要系统函数、多进程编程、乃至 Linux 网络通信。对于初学者,如果你能将《操作系统》这门课程结合着这本书来学习,试着用 Linux 程序实践《操作系统》这门书中讲的进程间通信、进程调度、进程同步等内容,相信这将是一个一举两得的事情。哦,忘了告诉大家,上次 CNN 采访 Google 总裁佩林的时候,水煮鱼看到佩林的书架上就有这本书的英文版,可见它真的是一本全球开发者必备的一本书。
《深入理解 Linux 内核》(第三版) ,博韦等著
《深入理解 Linux 内核》,推荐指数:★★★★
学习 Linux ,就要学习 Linux 的精华。而 Linux 的精华,则在于 Linux 的内核。《深入理解 Linux 内核》就是一本辅助学习 Linux 内核的经典书籍。有的初学者,在没有人指导的情况下,就钻入 Linux Kernel代码的海洋中埋头苦学,结果学了半天仍然是一头雾水。当然了,在大师指导下学习就不一样了。本书以最新的 Linux 2.6 版架构为基础,分门别类地向初学者介绍了 Linux 内核的架构、编程思想、以及功能模块。相信你在本书的指导下学习,对于你读懂 Linux 操作系统的精华部分,会取得事半功倍的效果。事实上,不少知名公司招聘的题目里面,很多就出自这本书,可见它真的是论述 Linux 内核的经典书籍。
《Linux 设备驱动程序》,科波特著
《Linux 设备驱动程序》,推荐指数:★★★
程序开发,高薪在 Linux ; Linux 程序员,高薪在驱动开发。普遍观点认为, Linux 驱动开发很难学,这并不正确。初学者认为 Linux 驱动开发很难学,关键在于其没有选对正确的入门书籍。《 Linux 设备驱动程序》这本书,过去已经有多位 Linux 项目经理向水煮鱼推荐过,你要想学MOD编程,想挑战高薪职位,这本书读一读是很有必要的。当然,这本书不是一本针对初学者的书籍,初学者应首先学习前面提到的《UNIX环境高级编程》再看这本书,你才能真正的学懂学好 Linux 驱动开发。
《嵌入式 Linux 应用开发完全手册》,韦东山著
《嵌入式 Linux 应用开发完全手册》,推荐指数:★★★
要说 Linux 应用最广泛的地方,那一定是无处不在的嵌入式设备了,《嵌入式 Linux 应用开发完全手册》就是一本教会您怎样开发 Linux 嵌入式系统软件的一本好书。水煮鱼与本书作者韦东山老师曾有过一面之缘,当时韦老师正在写作这本书。这本书综合了常见的嵌入式开发经验技巧,以及常见的嵌入式系统应用,系统移植,调试及异常处理等,内容非常丰富,是中文 Linux 领域难得的一本好书。嵌入式处理器种类繁多,韦老师着重讲了目前国内最常用的ARM系统,实用性很强,是国内嵌入式程序员不容错过的一本工具书。
《人月神话》(32周年中文纪念版),布鲁克斯著
《人月神话》,推荐指数:★★★★★
做项目,那就一定离不开《人月神话》这本书。《人月神话》的作者布鲁克斯,也是图灵奖的获得者。去年,他到中国访问的时候曾经表示,《人月神话》这本书,浓缩了项目实践中的正反两方面经验,是项目经理和系统分析师必读的一本书。可以说,Linux 的项目,对开发者的要求都很高,大家不要去跟 Windows 程序员学一些不好的习惯,特别是项目实施方面的一些不好的习惯,而应该深入体会大师的书籍。目前,《人月神话》的32周年纪念版已经上市了,有志于成为项目经理和产品经理的人,不应该错过这本做项目的圣经。
总结
古人云:“生而知之者,上也;学而知之者,次也;困而学之,又其次也;困而不学,民斯为下矣。”作为程序员,实在是不能停止学习的步伐呀。