程序人生
有人问我:什么样的程序才算得上编的好
程序人生, 其实程序就像人生,什么样的程序编的好就好比如什么样的人生比较好呢?学历越高越好还是经验越丰富越好;名声重要还是金钱重要;选择家体还是爱情……它们或许可以共存,或许得经历种种选择,甚至抉择;程序也一样,十全十美的程序基本上不存在,一个程序需要在很多质量属性之间选择;质量与效率成本的平衡。
程序,正确性当然是第一,程序都不能工作还谈质量、成本就没什么意义了。那么人生呢?人必须活着,活着是第一,都死了或者快死了还谈什么人生意义。活着,没有活着,没有生存能力的话,其他方面都没什么好说了。
生存能力,基本可以理解为赚钱,想生存基本上就得赚钱,如果缺吃少穿,那么你还可能去研究数学物理?当然,这里的生存能力还应该更广泛一点。第一、人家觉得你的人生有意义,赞助你完成你的人生,比如赞助你做科研等;第二、你的家庭条件好,你可以在不考虑赚钱的情况下选择你自认为有意义的人生。然而不管自己赚钱、国家或者别人资助或者依靠家庭,这些都是生存能力的体现,没有生存能力,你的人生即将结束,何来人生的意义。生活不是为了活着,但是生活必须要活着,活着是为了生活。
正确性是程序的第一要素,但是这是最基本的,除了正确性,还需要比如健壮性、可靠性、可移植性、易用性、清晰性、安全性、可扩展性等。很不幸的是其他性能之间并不能完全”融合“,它们之间可能存在冲突,安全的代码可能不清晰,可扩展的代码又可能不安全,因此各个属性之间需要平衡。更重要的是,单单考虑这些质量属性甚至还不行,质量得跟实际相结合,你写了质量很高很高的程序得要一年,人家客户要求半个月完成,你老板不炒了你才怪;人家可能不需要那么高的质量,比如人家对健壮性也不是很在乎,当机了人家也不在意,至多重新开始。一般来说,质量高的,效率就低,价格自然就涨,因此他们也需要一个平衡。
人生也一样,人生路上有很多分岔点,需要我们去选择甚至抉择。程序由客户需求决定而人生取决于你的人生观、世界观、价值观。
程序人生,然而人生远非程序那么简单,人生路上到处是荆棘,或许前面就是地雷阵、万丈深渊,大家一路走好!
程序人生,然而人生远非程序那么简单,人生路上到处是荆棘,或许前面就是地雷阵、万丈深渊,大家一路走好!
评论