这不是一本教科书(Text Book)或者说,拿这个来当教科书会是很失败的选择,因为一般人,一般的programmer,基本是“术业有专攻”,而这本书讲的内容涉及面广而且深,实在不是我这样的人能够全部通透的,从OS到Database,从C到JAVA、Python、PERL、Ruby、C#,从XML到Compile principle,从Design patterns到Software Testing,甚至涉及到大量现代领域,如生物学、ERP……
但这本书是有价值的,我并不认为这是什么“论文集”,因为作者们正尝试以平易的语言来描述他们的兴趣、领域甚至前途,表面看似杂乱而不统一,然而就像序文所述,“看得多远,取决于你站得多高,要想成为他们,你得先知道他们”。这正是我们学习这些优秀领导者们思想的时候,他们的文字值得我们去咀嚼,沿着作者的思路,一步步去明白,一次次优化的背景和作用,也许我们中很多人定不会写出这样子的代码,但我们可能会因此而有所感触,这已经足够了。
我花了很多时间,看了前面几章,值得注意的是,在这几章里,正则表达式(Regex)和二分法查找(Binary-Search)不止一次地被提及,我愿意相信,那些优秀的领导者们,同样钟情于基础的架构和知识,并以此为快乐,当然,作者们还提到了大量软件工程和设计模式方面的知识,包括软件测试的理论在内,值得我们一读。
也许是个人职业和爱好原因,我最偏爱的还是第一章,由Kernighan写的关于“A Regular Expression Matcher”,无论如何,很难找到一本专门论述RE的能和相提并论的书籍,同样值得我惊奇的是,在这本融会多人观点的书中,能在第一章便找到关于正则表达式的论述,实在难得。
关于二分查找,数次被不同作者提及,实在很赞,而且仁仁知知,可以看看不同作者的观点,这很有趣。
我觉得,翻完整本书,没有学到什么具体的东西,但我觉得这很正常,如果我想学RE,我想学Binary-Search,我想学Linux-Device-Driver,……我都没必要看这本书,因为专门讲解的书籍汗牛充栋,但这本书值得一看,可以了解那些领域内的“思想者”们的思路和想法,这份宝贵是前所未有的。 最后,套用一句书中后记原话:
QUOTE: BEAUTIFUL CODE SURVEYS THE RANGE OF HUMAN INVENTION AND INGENUITY in one area of endeavor: the development of computer systems. The beauty in each chapter comes from the discovery of unique solutions, a discovery springing from the authors’ power to look beyond set boundaries, to recognize needs overlooked by others, and to find surprising solutions to troubling problems. 共勉之。