未来软件是什么样子?

 

作为软件从业人员,如果你去问他们1年之后的软件什么样子,或许他会和你讨论,这个语言,那个框架,哪个更流行,哪个更好用;3年之后的软件呢,或许他又会和你侃SOASAAS,云计算等等当下流行的概念和趋势;那么10年之后呢?(WebOS?20年之后呢?甚至100年之后呢?

或许有人马上发出异议:“哥们,没事吧?”“洗洗睡吧”之类。

的确,软件行业是一个充满了变数和奇迹的地方,今天你是一方霸主,明天或许已经老态龙钟;今天他或许已是暮气沉沉,明天或许又焕发出来第二春。。。 类似的例子很多,不一而足。只要一个看似不经意的决定,或许就改变了许多东西。

其实内在还是有一定的规律性的东西。

 

比如,一个很重要的概念就是“需求”。当今的诸多软件工程理论都把需求列在了一个很重要的位置,无论是瀑布模型,敏捷开发,CMMI等。“需求”就是根本。很难想象,一个没有需求的软件产品会得到开发和应用。无论是人类发现并使用了火,还是我们的“四大发明”,抑或当今的汽车飞机,哪一个不是需求的产物。正因为人类有了这方面的需要,所以才会开动脑筋,这些需求的产物才会诞生。软件自然也不能“免俗”。

那对于我们来说,要想知道20年,甚至100年之后的软件长什么样,就得从我们自己的身上寻找答案。我希望的软件是什么样?(希望看到这篇博文的朋友也考虑考虑这个问题,也欢迎参与讨论。)

 

可以想见,在未来的某个时刻(或许20年之后吧),由于硬件和数据库等技术的发展,我们对于当前网站头等重要的大事――性能问题已经不再关注,一台普通的计算机或者一个普通的计算机集群就可以很好的满足我们的需求。可能吗,当然!还是因为“需求”。就算到时地球有100亿的人口,每天使用计算机做了100件事情,也就是每天1万亿条记录,还会再多吗?不会了,至少地球人不会了,再多的话,还让不让人活了,不用休息啦!所以,这每天万亿级别的数据存贮查询,就是一个地球人对计算机需求的天花板。

有人说不够,那么我们再加上2个数量级,每天百万亿级,这里仅仅是针对人类的网络需求而言,等哪天和外星人连上线了,那又是另外一回事了。就好比DOS时代的640K就能满足需求,而Window时代到目前为止64位的Window2003已经可以支持到4TB的内存,不可同日而语。这里说的需求瓶颈指的就是在有限的未来,地球范围以内的人类对网络的需求。不要把他扩散出去,当然那一天蚂蚁都会上网了,那就另当别论了:)

而目前的技术能力,一台普通的web服务器,对纯静态html页面的响应也仅仅能完成7000左右REQ/秒,那么一天就是3600*24*7000=6.048亿,算它10亿,距离百万亿还有5个数量级,这里我相信我们软件工程师的集体智慧,终有实现的一天。(作为其中的一员,我也希望其中有我的一份力量。)

 

抛开了硬件和性能的禁锢,你希望未来的软件是什么样子的呢?

这里抛砖引玉一下,我描述一下我的一种看法:比如我是一个小制造公司的老板,由于业务发展的需要,我想买一套符合我公司自己流程的管理软件。于是我来到了“SIF 软件快餐公司”,和机器人sales描述了我的需要,机器人salesSIF一代”马上将我的需求整理,并提示我有一个类似的软件套餐可以选择(该套餐马上可以使用),我一看,基本可以,同时又提出了2个需要的功能,“SIF一代”告诉我,这2个功能公司中心库中也有,不过需要等候30分钟,我说没有问题,OK。于是,半小时后,我满意的走出了“SIF 软件快餐公司”。或许未来的某一天,这变得很寻常。

 

在这里我也提出一个概念――未来软件(Software In Future),就是通过目前已知的信息,分析未来若干年后软件需求的一种方法。所谓“人无远虑,必有近忧”,相信如果我们能够把握未来软件的大方向,这对于业界的公司,国家,乃至整个人类发展还是有积极意义的。希望有更多软件开发人员能够参与SIF讨论,提出想法和见解,能够为它添砖加瓦!

(如需转载,请注明出处!)

该文章会写成系列文章

《未来软件是什么样子?》-开发流程篇
     《未来软件是什么样子?》-操作系统篇
     《未来软件是什么样子?》-数据库篇
     《未来软件是什么样子?》-软件人员篇

。。。

希望大家持续关注,谢谢!

posted on 2008-09-16 16:40  丁志明 's  阅读(3576)  评论(26编辑  收藏  举报