爱他就要离开他
2011-05-02
“编程语言有两种,一种是整天被人骂的,一种是没人用的”
——那为毛不用那种没人骂的?
怎样做出一个成功的软件?不知道。
你可以去问问总书记:你是怎么当上国家主席的?
“我没有想过当国家主席,是人民选择了我”
喂!不要这么悲观好不好。其实《三体》更加悲观呢。
---------------------别扯淡了,下面是严肃的------------
做软件从来不容易。但是做什么容易呢?
人类的智力活动从来没有达到今天这样的地步——几乎任何事物都需要编程——虽然你不一定感觉得到软件的存在。这很正常嘛,毕竟所有的东西到最后都归到数学,而面对数学我们就只能用算盘了。嗯,开个玩笑,是用计算机。
计算机本身是一个物理的玩意儿,他所承载的逻辑,也就是软件这一部分,是数学的。数学和物理的搭配就像董永和七仙女,卫斯理和白洁,于谦和郭德纲,潘金莲和。。。啊,走远了,反正就是绝配。但是问题的关键既不是物理亦不是数学,而在于使用计算机、编写软件的主体——人。
俗话说,计算机是高速的笨蛋,程序员是低速的笨蛋。低速的笨蛋用高速的笨蛋妄图造出优秀的作品,这不是扯淡么。且不说软件开发本身,就是最开始的需求,人们自己都搞不清楚。俗话又说了,一千个人眼里有一千零一个需求规格说明书,有一千零一的一千零一次方个设计说明书,有。。。额,所以你懂的,混乱啊!
于是问题就来了。那么怎么做出一个优秀的软件啊?答案就是,不做软件。记得Linus么,做Linux也是“just a hobby”,而“big as gnu”的内核也迟迟未能完成。计算机的历史上有多少优秀的软件是无心插柳而来啊,那些经过认真计划反复斟酌而来的软件反倒像是异类了。
所以?那么到底要怎么做一个好软件呢?不知道。不过我知道怎样做坏一个软件,书里面可都写了。想改变世界?除非你姓乔。还是先安安心心学好数据结构和算法设计吧,Linus写系统内核的时候可是已经敲了好多年的键盘了。这个,可不是偶然。