成为一名精通 Linux 程 序设计的高级程序员一直是不少朋友孜孜以求的目标。根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍、Java 程序员的 2.6 倍, Linux 程序员年终奖金平均为 Windows 程序员的 2.9 倍。同时数据显示,随着工作经验的增长, Linux 程序员与 Windows 程序员的收入差距还有扩大的趋势。Denis 认为,要学好 Linux 环境下的编程,关键是要看对、选对、学会正确的书籍。可以说,如果你选对了 Linux编程的经典书籍 , 配合你在程序设计工作中的刻苦钻研,成为一名精通 Linux 程序设计的高级程序员并非一件可望不可及的事情。但如果各位程序员朋友没有选对正确的书籍,则你的职业生涯之路就可能面临坎坷。今天,水煮鱼向各位朋友推 荐的这些书,有的是资深老前辈们当初向水煮鱼的推荐,还有的是 IBM 的内部培训指定参考书,它们都很值得各位朋友抽空认真一读。



为什么要学习 Linux 环境下的编程

Linux 是 一个开放、灵活、跨平台的操作系统,上至庞大的数据中心,下至可放于掌心中的嵌入式设备,无处没有 Linux 的身影。更为重要的是, Linux 是一个与 Unix 既一脉相承又与时俱进的系统。可以说,上世纪70年代学习的 Unix 知识和技巧,在今天仍然大有用武之地,这与 Windows 平台的开发形成了鲜明的对比。程序员不用担心今天微软出一个 .net,明天又出一个 F#,使得自己过去学习的成果付之东流。

上 个星期,水煮鱼与一位 Linux 项目经理聊天过程中,这位 Linux 项目经理告诉水煮鱼,他们项目的利润非常高,急需具备一定 Linux 编程知识的程序员。他说:“其实我们对程序员的编程技巧要求也并非很高,这是可以在工作中培训和提高的,关键是很多程序员连基本的 Linux 编程思想都不了解,我怎么聘用他们呢?我们去大学招聘的时候,给本科应届生开出 8000 元的月薪,但是就是很难招到人。我拿一些经典书籍中一些经典例子来考他们,他们基本上都是一问三不知。其实,如果他们能回答上一半的问题,我还是很愿意考 虑是否聘用他们的。而对于项目相关部分的专业知识,我们有专业的内部培训,并不担心这个问题,关键是看应聘者是否具备 Linux 编程的基本思想。”

水煮鱼认为,这位项目经理朋友提到的问题还是很有代表性的。其实很多程序员朋友,只要能掌握这些书中的基础知识,是很容易脱颖而出的。事实上,项目经理他们也都很忙,并没有空去自己设计高难度的面试题目,而是直接采用经典书籍中的经典例子。

《UNIX环境高级编程》(第2版),史蒂文斯著

UNIX环境高级编程

《UNIX环境高级编程》,推荐指数:★★★★★

《UNIX 环境高级编程》是 Unix/ Linux 程序员案头必备的一本书籍。可以说,Linux 程序员如果没有读过这本书,就好像基督教徒没有读过圣经一样,是很难让人理解的。这本书概括了 Linux 编程所需的一切理论框架、主要系统函数、多进程编程、乃至 Linux 网络通信。对于初学者,如果你能将《操作系统》这门课程结合着这本书来学习,试着用 Linux 程序实践《操作系统》这门书中讲的进程间通信、进程调度、进程同步等内容,相信这将是一个一举两得的事情。哦,忘了告诉大家,上次 CNN 采访 Google 总裁佩林的时候,水煮鱼看到佩林的书架上就有这本书的英文版,可见它真的是一本全球开发者必备的一本书。

《深入理解 Linux 内核》(第三版) ,博韦等著

深入理解 Linux 内核

《深入理解 Linux 内核》,推荐指数:★★★★

学 习 Linux ,就要学习 Linux 的精华。而 Linux 的精华,则在于 Linux 的内核。《深入理解 Linux 内核》就是一本辅助学习 Linux 内核的经典书籍。有的初学者,在没有人指导的情况下,就钻入 Linux Kernel代码的海洋中埋头苦学,结果学了半天仍然是一头雾水。当然了,在大师指导下学习就不一样了。本书以最新的 Linux 2.6 版架构为基础,分门别类地向初学者介绍了 Linux 内核的架构、编程思想、以及功能模块。相信你在本书的指导下学习,对于你读懂 Linux 操作系统的精华部分,会取得事半功倍的效果。事实上,不少知名公司招聘的题目里面,很多就出自这本书,可见它真的是论述 Linux 内核的经典书籍。

《Linux 设备驱动程序》,科波特著

Linux 设备驱动程序

《Linux 设备驱动程序》,推荐指数:★★★

程 序开发,高薪在 Linux ; Linux 程序员,高薪在驱动开发。可以说,水煮鱼见过的 Linux 驱动程序员,薪水在万元以下的,一个都没有。普遍观点认为, Linux 驱动开发很难学,这并不正确。初学者认为 Linux 驱动开发很难学,关键在于其没有选对正确的入门书籍。《 Linux 设备驱动程序》这本书,过去已经有多位 Linux 项目经理向水煮鱼推荐过,你要想学MOD编程,想挑战高薪职位,这本书读一读是很有必要的。当然,这本书不是一本针对初学者的书籍,初学者应首先学习前面 提到的《UNIX环境高级编程》再看这本书,你才能真正的学懂学好 Linux 驱动开发。

《嵌入式 Linux 应用开发完全手册》,韦东山著

嵌入式 Linux 应用开发完全手册

《嵌入式 Linux 应用开发完全手册》,推荐指数:★★★

要 说 Linux 应用最广泛的地方,那一定是无处不在的嵌入式设备了,《嵌入式 Linux 应用开发完全手册》就是一本教会您怎样开发 Linux 嵌入式系统软件的一本好书。水煮鱼与本书作者韦东山老师曾有过一面之缘,当时韦老师正在写作这本书。这本书综合了常见的嵌入式开发经验技巧,以及常见的嵌 入式系统应用,系统移植,调试及异常处理等,内容非常丰富,是中文 Linux 领域难得的一本好书。嵌入式处理器种类繁多,韦老师着重讲了目前国内最常用的ARM系统,实用性很强,是国内嵌入式程序员不容错过的一本工具书。

《人月神话》(32周年中文纪念版),布鲁克斯著

人月神话

《人月神话》,推荐指数:★★★★★

水 煮鱼上面为大家推荐了几本 Linux 编程经典书籍,但要问编程的最终目的是什么,那一定还是要应用到实际项目中。做项目,那就一定离不开《人月神话》这本书。《人月神话》的作者布鲁克斯,是 水煮鱼所在公司的超级大牛人,也是图灵奖的获得者。去年,他到中国访问的时候曾经表示,《人月神话》这本书,浓缩了项目实践中的正反两方面经验,是项目经 理和系统分析师必读的一本书。水煮鱼认为,各位年轻的朋友,最终还是会要管项目的,与其你临时再学习,还不如早点接触这方面的知识比较好。可以 说,Linux 的项目,对开发者的要求都很高,大家不要去跟 Windows 程序员学一些不好的习惯,特别是项目实施方面的一些不好的习惯,而应该深入体会大师的书籍。目前,《人月神话》的32周年纪念版已经上市了,有志于成为项 目经理和产品经理的人,不应该错过这本做项目的圣经。

总结

古 人云:“生而知之者,上也;学而知之者,次也;困而学之,又其次也;困而不学,民斯为下矣。”水煮鱼认为,正如古人所言,对于成功的 Linux 程序员,勤奋苦读的结果,将为您的 Linux 学习之路锦上添花。对于还没有入门的投资者,尽快熟读一两本入门的 Linux 书籍,对于你少走弯路是很重要的。对于已经进入项目,但还不能熟练掌握 Linux 开发的程序员,越早补习自己缺乏的东西,您将越早受益。对于基础薄弱,又拒绝学习的程序员,或许“民斯为下矣”就将是您惨淡的结局。

转载于:https://www.cnblogs.com/moiyer/archive/2010/03/27/1952687.html

Linux 编程经典书籍推荐相关推荐

  1. Linux网络编程经典书籍推荐

    Linux网络编程经典书籍推荐 目录(?)[+] 首先要说讲述TCP/IP的书很多,其中有3泰书很全. 分别是<TCP/IP详解>三卷本,<用TCP/IP进行网际互连>三卷本, ...

  2. 学习linux驱动经典书籍

    Linux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为<linux_device_driver 3rd Edition>,这是一本很经典的书,无奈Linux的东东还是过于庞大,这本 ...

  3. Linux经典书籍推荐-转

    Linux经典书籍推荐 入门篇  <LINUX权威指南>书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux .另外比较热门的也可以看看<鸟哥的私房 ...

  4. Linux 好书、经典书籍推荐

    转载:http://blog.csdn.net/leonzhouwei/article/details/9053201 Linux 好书.经典书籍推荐 作者:http://www.ituring.co ...

  5. Linux学习路线及网络编程经典书籍

    linux学习资源整理:https://zhuanlan.zhihu.com/p/22654634 Linux初学者(学习资料):https://zhuanlan.zhihu.com/p/217232 ...

  6. Linux学习路线及网络编程经典书籍(转载)

    linux学习资源整理:https://zhuanlan.zhihu.com/p/22654634 Linux初学者(学习资料):https://zhuanlan.zhihu.com/p/217232 ...

  7. linux必看书籍推荐

    Linux能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.无论你是什么语言的程序员,都离 ...

  8. 嵌入式Linux学习经典书籍-学完你就是高手

    很多刚入门的朋友一直都有人问我要学习资料,嵌入式实在太杂,网上很多人写的太不负责了,本书单综合了本人以及一些朋友多年的经验整理而成. 本人见识和阅读量有限,本书单可能有不对的地方,欢迎朋友指正,交流你 ...

  9. LINUX嵌入式开发书籍推荐(附WINCE部分)

    LINUX嵌入式开发书籍推荐(附WINCE部分) LINUX嵌入式开发书籍推荐(附WINCE部分) 一,编程语言部分 1,C语言 <C语言大全(第四版)> 市场价 :¥48.00 [原 书 ...

最新文章

  1. MySQL 中的运算符
  2. Oracle——redo+undo总结
  3. 上传本地代码到gitHub过程详解
  4. 2019年如何打造自己的“前端品牌”
  5. springmvc学习笔记(17)-上传图片
  6. mysql无法安装弹出Log_[MySQL FAQ]系列 -- 启用GTID binlog新安装完的MySQL提示无法登录...
  7. iOS执行时工具-cycript
  8. 【C++】类的成员初始化表与构造函数内赋值操作
  9. 有关centos7 图形化root用户登录
  10. java开发者最常去的20个英文网站
  11. ZeroClipboard插件——复制到剪切板
  12. 6-3 图片合成视频
  13. 读书笔记:Sheldon.M.Ross:概率论基础教程:2014.01.22
  14. W3Cschool离线文档
  15. 【python游戏开发入门】pygame下载与安装教程
  16. 图的遍历 (深度优先遍历和广度优先遍历)
  17. ros系列—解决文件改名导致节点无法启动问题及ros::NodeHandle nh与nh(“~“)的理解
  18. 计算机无法安装cad怎么办,电脑安装AutoCAD提示未正常卸载无法安装如何解决
  19. html字幕英文,小猪佩奇第1-4季中英文对照字幕(自制学习文本)
  20. [Linux Audio Driver] Qualcomm平台音频GMS认证器件要求

热门文章

  1. Protocol Buffer Basics: C#
  2. Hibernate5-多对一双向关联-fetch=select,lazy=proxy,在一的一方的class标签中添加
  3. Chrome插件开发进阶
  4. .Net Base64编码
  5. Yii框架的form处理
  6. flex 3.0序列号
  7. Qt中使用的工程文件(.pro文件)
  8. ES6关于Promise的用法详解
  9. Intellij IDEA神器常用技巧七-超好用插件推荐
  10. 为什么我的子线程更新了 UI 没报错?借此,纠正一些Android 程序员的一个知识误区...