我是一个中医的支持者。中医虽然被认为不科学,但往往能解决西医不能解决的事情。这其实不奇怪,中医的起点高,他立足于提高人体免疫力,激发人体自然力量去对付入侵者,而不是西医那样头疼医头。我承认大多数情况下,西医是立竿见影药到病除的,不过有谁通过常看西医打针吃药开刀体质好起来的么?越看身体越差的倒是不少。我认为我们的终极目标是强健身体即免疫力的增强,而不是治好某几种特定的病,因此满足于立竿见影药到病除是不够的。
大象无形,泛泛而谈的道理,一般具有普适性
。 软件开发中,何尝没有类似的情况!
非常多的程序员在面临问题的时候,本能的反应是--看书学习,希望有那么一本书的一个章节正好讲述了自己的问题;或者求助于人希望他人解决过自己的问题。一般情况下,这是可行的,是"立竿见影药到病除的",甚至那位"西医式"的程序员还为自己又学到一个技巧而高兴,然后暗暗把这个技巧记在心里。然而,一个程序员在其程序生涯中,遇到的问题数会是一个天文数字。每个问题的时候都要靠这样"学一个技巧"来解决的话,我们就可以一直听到"做程序员很要不停地学习不然就落后了,太累了"这样的感叹了。
我想那些"好学"的程序员们的终极目的,是成为所谓的"高手"吧。然而什么是"高手"?是会很多语言,用过很多工具,记着很多技巧的人么?如果那样,迪杰克斯特拉(数据结构课本里有他,经典无向图中两点最短路径算法的提出者)在世的话一定成为不了"高手",99%的社区上的提问他是回答不了的。
可是他却是无可争议的令人高山仰止的高手,因为他的思维深邃且严谨,科学且神奇,而思维的力量才是真正的力量,决定人技术水平高下的最关键因素。令人庆幸的是,这种力量不会随着技术发展而衰弱,永远不会过时。所以他始终是高手,而我们虽然渺小,但只要向着他的方向努力,以提高思考能力为宗旨并贯彻到日常的工作中去,成为那样的大师的可能性固然可以忽略不计,但至少可以做一个不"紧跟时代"也永不"落伍过时"的中医。
所以我要写行医记来和大家切磋思维。行医记里面提及的问题,一般不会有直接的应用,但是却是很好的思维锻炼场。行医记的行文以医生和病人的对话为主。其中病人的话,是我个人认为程序员通过独立思考能推理出的结果;医生的话则偏向概念,引导和总结。希望这些故事能对提高读者的思维有所帮助,最终可以把"做程序员很要不停地学习不然就落后了,太累了"这样的话送进故纸堆去。
不过我个人水平有限,也许某些病人的话的力度不够,这意味着我的思考强度还不够,能推理出的东西我却判断为需要学习才能得知,如果大家发现这样的地方,请一定要告诉我因为我也很想加强自己的思维!