Book

太多朋友问过我做开发有没有什么推荐的书籍。这里我列出来一些我认为需要研读和推荐研读的书。希望能对大家能用帮助。

基础书籍

csappComputer Systems: A Programmer’s Perspective

这本书是我在读本科时候看的,至今我已经记不清推荐给多少人了。如果说TAOCP太难,不是每个程序员都能读懂的话,哪我觉得这本书绝对每个程序员都应该看。假如作为程序员你不知道什么是”Big Endian”那么你绝对应该阅读这本书。

 

unixAdvanced Programming in the UNIX Environment

这本书是我翻看最多的一本手册,这本书对unix编程介绍深入浅出,从OS原理到实际代码,它不仅是教你如何编程,更重要的帮你理解unix如何运作。作为苹果软件开发者,读懂unix也是必要技能。而这本书恰好是非常优秀的教材。

 

algorithmIntroduction to Algorithms

这本书应该不必我多介绍了,太出名了。中文名《算法导论》又是一部经典教材数据结构+算法的纵览。

 

苹果开发相关

Apple development document

做苹果软件开发,苹果自己的文档是一定要看的,这点经常被很多朋友忽略或者因为语言问题就不愿意看英文文档。

 

cocoadesignpatternsCocoa Design Patterns

设计模式对小问题也许没什么帮助,但真正做一个软件时候,非常重要,你可以学到如何组织庞大的代码群。强烈推荐进阶阅读。

 

Effective Objective-C 2.0Effective Objective-C 2.0

这是 Matt Galloway 2013 5月份刚出版的一本新书。属于语言实践、技巧类书籍。阅读难度低。看完后感觉很不错。相信很多细节无论对于入门者,还是开发老手都有所启示。

 

Advanced Mac OS X ProgrammingAdvanced Mac OS X Programming

这本书阅读难度偏高,需求的基础知识较为广泛。其出发视角不属于应用型,而是着重介绍 OSX 作为 UNIX 的基础特性,以及为什么 OSX 的应用开发框架发展成了现在的形态。这本书强烈建议进阶阅读,可以结合上面介绍的 Advanced Programming in the UNIX Environment 来阅读。(友情提示:由于该书涉及话题较为底层,不少地方并不适用于现在 Mac App Store 的 sandbox 生态环境,新手阅读容易困惑。如果不确信,请勿轻易摘用书中代码加入你的上架软件。)

设计相关

visualthinkingdesignVisual Thinking Design

这本书应该是北美IAT课程里反复被推荐的教材。看完之后随着时间推移,我越来越体会到它的优秀。

 

OSX Human Interface Guideline

HIG是苹果软件界面设计的圣经。必读!

 

人工智能

On IntelligenceOn Intelligence

作者 Jeff Hawkins 提出一些很有意思的人工智能观点。你可以把它当成闲书看,或者成为 Jeff 的小粉。当然也可以开始研究他的基于脑皮质的 Hierarchical Temporal Memory 算法,并且使用他们的 NuPIC 开源库。是的,这本书里的观点,已经被实现,并聚集了一大批追随者。我也是其中之一。