对于程序员来说,最重要的素质,一是数学建模能力,二是细心。这本《编程之美》反复强调的其实也就是这两条,其中尤以第一条更为重要。毕竟细心是一种可以后天培养的素质;而数学建模能力即使可以培养,也要花费更多的精力与更长的时间才能收到一点效果——如果能收到效果的话。
所以说到底,所谓编程之美,不如说就是数学之美。而这本书里的所有题目与其说是在讲解一个问题该如何编程实现,不如说就是在讲解一个问题该用哪种数学模型解决。但此书的问题恰恰就在这里:写作者们对于如何寻找合适的数学模型语焉不详。一个问题抛出之后,没有一点分析与思考,或者只有很简单的一点思考,立刻便抛出了对应的数学模型,中间没有(或者是几乎没有)半点过渡、提示、分析,接下来则是进入了具体的编程实现。换句话说,本书的重点似乎在于如何实现一种算法,而非如何找出合适的算法。但恰恰是后者才是真正重要的东西。
所以我要说,对于真正立志于编程之道的人、真正需要培养数学建模能力的人来说,本书并没有太大的价值。需要本书的大约也就是本书序言中所说的,是那些想要知道“微软需要什么样的技术人才,重视什么样的能力,如何甄别人才”的人。换言之,你可以以此书衡量自己是否符合微软的标准,但你不要指望自己能够通过这本书成为微软需要的人。再换言之即是:微软只管用人,不管培养。
这一点我很厌恶。
------------------------------------------------
顺便对于那些有志于编程的同学,给一点我个人的推荐:
数据结构、计算方法、数学建模,这几个方面的能力一定要扎实。当然,数学建模之前需要掌握高等数学。
其余的东西只要保持基本限度的了解即可。只要你具备足够的理解力和相当的知识面,即使没有一定的深度也可以很快补上。况且你不知道自己将来会和哪个方面深入打交道。
语言方面,学Java或者.Net之前一定要先学C,这个没有讨价还价的余地。
另外说到数学建模,其实去找几本编的比较好的数学建模的大学教材,比看《编程之美》有用的多。甚至有些数学科普读物也比《编程之美》好,比如面向儿童的《少年科学》——我从小看的杂志,现在已经不看很久了,前几天在书展上看到,还挺让人怀念,不过这是题外话了——那上面经常会登一些很有趣数学游戏,又有详细的解释说明,对于培养数学建模能力很有用处。
再比如像由《科学美国人》同名专栏文章结集翻译出版的《数学游戏》(http://www.douban.com/subject/3178576/,有电子版),也比《编程之美》有趣的多了。
本文由作者笔名:小小评论家 于 2023-03-26 03:59:25发表在本站,文章来源于网络,内容仅供娱乐参考,不能盲信。
本文链接: http://www.w2mh.com/show/16987.html