享受用程序语言思维的乐趣

闲暇时喜欢翻书,但也许是习惯了屏幕前飞快的阅读速度,如今看书已不像原先啃书那般细致。阅读时往往对引出道理的故事很感兴趣,而到了讲道理的细节,便一扫而过。

然而最近在读的《编程之美》一书,却是无论如何也无法像读其他书籍那样浮光掠影般翻看,而是字斟句酌,生怕遗漏了半点细节。如果说在看《算法导论》这样的经典著作时偶尔会有枯燥,那么这种感觉在阅读《编程之美》一书时是无法体会到的。想来或许是,单纯的理论讲解或许显得枯燥,仅是应用的叙说又会感觉浅显。《编程之美》一书拿捏的却恰到好处,从游戏题解到数字技巧,从数据结构到数学问题,大多数算法的引出都有具体应用场景作为铺垫,不会让读者感觉题目是凭空飞来而摸不着头脑。在题解过程中,通过分析带动算法探究,以讨论带领读者着循序渐进,而丝毫没有解释说教的架子。

在维基百科上,对于Problem-Solving是这样解释的:解题是思维的一种形式,被认为是最为复杂的智力活动之一。解题同时也是是高层次的认知提炼过程,需要综合运用常规思考和基本技能,并在其上进行创造性思维。的确,解题需要我们的创造性思维,而深入解题的思考过程,着实比得到标准答案更让人兴奋。想起曾读过一本计算数学领域的书籍:《如何求解问题:现代启发式方法》,与《编程之美》一书便有着异曲同工之妙。书中着重探讨用数学工具分析问题、求解问题的方法和途径,启发读者来培养独立自主的思考能力,用学到的方法解决现实生活中的问题,而并非是仅仅给出问题的标准答案就收工了事。最终的结果往往不是关键,而求解问题的一步一步才包含着最为精华的内容。

思考的过程比答案本身更为珍贵,同样,从这个意义上说,学习思考的方式往往比学到知识本身更有用。

请移步GDoc继续阅读书评全文