软件开发就像一场持久的战役。 模糊、频繁变更的需求, 项目的讨论、争议 , 进度的紧迫和延迟, 琐碎的事情, 突然出现的变故,各种因素都在尽全力阻挠人们按计划的实现预期目的。如果不够重视,它就会无情地偷取你的时间、精力乃至一切。 所以,在即将进入这个战场之前,或者准备纵深之前, 你准备好自己的武器和技能了么? 如果贸然上阵,恐怕会一上战场就深陷其中。
在《计算机专业推荐书籍》一文中,我推荐了一些自己读过的觉得很不错的计算机书籍,这些书籍都偏重于打好计算机编程的基础功底。 不过, 仅有基础还不行, 在真实软件开发环境中,还得有真枪实弹的技能才能应对自如。 所以,这篇文章会根据自己的学习进程,推荐一些有助于软件开发的书籍。
一、 思想类:
1. 《Linux/Unix 设计思想》(Linux and The unix philosophy) : Mike Gancarz 著。 在开始之前,学一些如何做好编程这件事的准则是很重要的。 这本书简练地介绍了 Linux 工具与程序设计的重要思想和准则, 值得不定期重温一下。
2. 《计算机程序的构造与解释》(SICP) : 提炼出程序设计的核心要素和重要思想, 理论与实践结合, 值得深读细读!
二、 实用技术类
1. 《Shell 脚本学习指南》: 这本书的特色在于, 它从一开始就专注于脚本编写的重要元素和常用技巧(而不是照本宣科地介绍各种脚本元素和教学示例),涵盖最常用的Unix标准工具,其示例用法都是比较容易弄懂的,而且非常具有实用性。 这本书很适合于那些有初步的Shell 认识