说实话,在我费了一番波折拿到了这本说是名为“大道至简”其实后面还跟着几个不太起眼的小字的书并简单地翻了翻后,我意识到这本讲编程的书里透露出一股浓厚的哲学味道,而且跟探究人类存在这样高端的哲学味道不太相同,是一种混杂着键盘敲打声和cpu运转的嗡嗡声的奇怪东西。
整本书的开篇就先在我的认知里扔了一枚响雷——想设计程序,要先学会折衷。
折衷其实是很简单的事,就像鲁迅先生曾经说过的“中国人的本质是折衷的调和的”一样,大家都会。实际上在之前C++课程要求的程序设计(我在此姑且斗胆将我写那几个小破程序的行为叫成程序设计)中遇到一些苛刻的要求时我也会想方设法用一些其他的方式规避要求而不是硬着头皮蛮干去推敲出题人怎么用的构造函数。这也可以叫折衷,通过测试和认真编程(这里我想说的肯定不是什么认真编程,请原谅我贫瘠的词汇功底)之间的折衷。但之前我对自己的这种行为确实是有负罪感的:“虽然我完成了程序,代码可能比出题人的范例写得还简洁不少,可是这毕竟是投机取巧,这是不对的”这种想法当时一直在我脑子里打转,然后痛定思痛,下次还敢(笑)。不过现在仔细一想,编程不就是个遇到问题解决问题的工作?现实生活中因为法律和道德的约束有些办法不能用,可编程没有什么法律道德,不管黑猫白猫,能抓住老鼠的猫才是好猫。
之后关于愚公移山和李冰炸山的探讨,也正是我之前经常用在高中作文的例子,从某一本作文书上看到的,没想到出处竟然是在这。事物都有其两面性,人们会为怠惰影响自身发展而苦恼,但绝大部分的实用科技都是脱胎于这种怠惰之中。前几天生病在家看起了久违的电视,中央9(纪录频道)在播盾构机的设计原理。在盾构机的使用过程中最重要的一环就是更换磨损的刀头,可隧道内部的气压很高,直接进去换刀头需要预先在加压舱适应高气压之后带上护具再进去换刀,这时候有一个工人就觉得这太麻烦了,能不能让盾构机出来而不是我们进去呢?制作团队一拍脑门:对啊我怎么没想到!于是立马设计了一台可随时回退的盾构机,这设计还获得了国家一个什么什么大奖呢。
要知道就连那个在书中被描写为勤奋之人的愚公,也是因为懒得翻太行山和王屋山才开始移山的嘛!
接下来有关组织管理的探讨,虽然不敢说我日后一定不会当领导,但我真心觉得我不是当领导的料,因此虽然这里的一些思想给了我不小的启发,但终究是不能将这点思想的火花编织成文字打在屏幕上。
还有之后提及的一些如何与客户沟通了解需求……嗯,现在还用不到。在未来很长一段时间内我的客户似乎都只有任务文件和我自己,所以目前还是不需要用到这种与用户沟通的技能,但万一——我是说万一,万一我有幸能为其他人做些什么,那么这种“项目经理”式的沟通就是那时的我必须掌握的技能了。
第六章开始,除了那句“语言只是工具”外,知识贫瘠的我还是没法完全理解其他的东西,但即使只是走马观花,我觉得也能吸取到一些不错的印象,在我足以理解这些有点生涩的知识后,我一定会把这一段吃透的,毕竟看起来很有意思嘛。至于这些经营者、开发者、客户、用户、投资方等离我尚有些遥远的名词,如果我真的有幸从事软件设计的话,再看一次一定会给我更多的启发。
大道至简,世界的真理和几行代码内蕴含的真理在哲学层面别无二致,我恐怕一生都没有什么机会追求世界的真理了,那么就让我凭借这键盘,稍稍窥探一下真理的门扉吧。