一道算法引发的思考:编程之外,我们还要关注什么
早上一开机,习惯的进入博客园溜达一圈,看到“博问”上一道问题:“用java和c语言编写程序,求1到100的累加和”,再也熟悉不过的题目了,大学里学汇编,C语言时无论是语法部分还是算法部分都是入门的一个经典例子,太简单了。
第一个念头蹦出来,来个循环就OK了吧,但做了这么多年设计,也习惯了在思考与行动之间给自己2秒钟反思的空间,嗨,递归怎么样,是不是看起来更优雅一些,前一阵子,园子里刮起了一股优化算法的“园风”,那就考虑怎么优化吧。
这么简单的题目,要什么优化,要什么自行车,由于本人对算法真是没的说,跟没学过一般一般,所以多次面试考试算法,我直接写,此题不会(貌似不会很有理由一样,也许是我面试不顺利的一个致命问题吧),不过这个题目我还是能够写出来的,不要笑我啊,但仔细想一想,一个面试官会问这些问题吗,为什么会问这些问题,考基础,考思路,绝对不会考人品(也许会吧)......
带着疑问我在猜测出这道题目的初衷,对一般程序员的面试也许是考思维的严谨程度,程序的通用性、扩展性,代码的规范程度,命名是否让人看着舒服,暂不说这道题的问题:java或c语言吧,用java和C语言,咋一个应该这样出:“用你熟悉的语言编写一道程序:求1到100的累加和”,呵呵这样是否让人看了更易于发挥啊。
还记得小学时,老师基本上会出一道这样的题目:从1加到100,看那一个小朋友用最短的时间算出来? 呵呵,数学家高斯出现了,他是那个时候算的最快的一位,噢,面试官是不是要这个结果啊!
试想,我们只关心写程序,某年某月某日,孩子问起"从1加到100"怎么算啊,我们会不会一念没想到(可能只有我吧)高斯的思维方式,而是......也许在程序人生之外有好多我们要关注的东西,不要为了买房,买车都整天扎在程序里,年迈的时候回忆这一生,回忆到的仅仅是那个程序我写的最牛,当年牛倒了其他大牛,我开发的系统曾经风靡一时,也许对着同行你可以引以自豪,如果你到了敬老院,面对一帮搞政治,经济的,是不是就憋屈了,多关心一些生活中美好的东西,多关心政治、经济、人文,多关心自己的身体。
算了,不在这里叨叨了,省得大家心烦,最近发现自己out了,发现自己身体每况日下,发现该提醒自己做点别的事情了,同学说去京东大溶洞,我在之前告诉他,我要搞Remoting,写完博文,我也去大溶洞去......
创造生活,享受生活,每天都快乐、健康,这是给大家的祝愿,也是给自己的祝福。
周末了,努力耕耘到一线的朋友放松一下吧,每天给自己半个小时的思考时间。
By the way: 你对你的程序人生是如何规划的?